diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-07-18 15:09:57 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-07-21 15:54:03 +0000 |
commit | a6e3f11f74959c1e756acb8a8f223075fcb43391 (patch) | |
tree | d7323b46543cbef1fc8748fb9125c1e9a286a7e4 | |
parent | 181ead2326ea9359cd0077d7f3d955df1140d019 (diff) |
Resolves: tdf#100731 include palette in checksum
Change-Id: I084d840b9fa078ebea3ff1471d8c8bc88171abc7
(cherry picked from commit 8624d2c8e3be89c794d3cfcfb72685fcb18e4d24)
Reviewed-on: https://gerrit.libreoffice.org/27291
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | include/vcl/salbtype.hxx | 5 | ||||
-rw-r--r-- | sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 2 | ||||
-rw-r--r-- | vcl/inc/salbmp.hxx | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/include/vcl/salbtype.hxx b/include/vcl/salbtype.hxx index 7238e02197f8..513827a8119d 100644 --- a/include/vcl/salbtype.hxx +++ b/include/vcl/salbtype.hxx @@ -23,6 +23,7 @@ #include <string.h> #include <stdlib.h> #include <tools/debug.hxx> +#include <vcl/checksum.hxx> #include <vcl/salgtype.hxx> #include <tools/color.hxx> #include <tools/helpers.hxx> @@ -152,6 +153,10 @@ public: SAL_DLLPRIVATE inline BitmapColor* ImplGetColorBuffer() const; + BitmapChecksum GetChecksum() const + { + return vcl_get_checksum(0, mpBitmapColor, mnCount * sizeof(BitmapColor)); + } public: diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index f29304f5ecb8..8b7de5087ff5 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -778,7 +778,7 @@ DECLARE_OOXMLIMPORT_TEST(testN777345, "n777345.docx") Graphic aGraphic(xGraphic); // If this changes later, feel free to update it, but make sure it's not // the checksum of a white/transparent placeholder rectangle. - CPPUNIT_ASSERT_EQUAL(BitmapChecksum(SAL_CONST_UINT64(12149824012634930130)), aGraphic.GetChecksum()); + CPPUNIT_ASSERT_EQUAL(BitmapChecksum(SAL_CONST_UINT64(18203404956065762943)), aGraphic.GetChecksum()); #endif } diff --git a/vcl/inc/salbmp.hxx b/vcl/inc/salbmp.hxx index b34525778608..69d25392a448 100644 --- a/vcl/inc/salbmp.hxx +++ b/vcl/inc/salbmp.hxx @@ -103,7 +103,8 @@ protected: BitmapBuffer* pBuf = pThis->AcquireBuffer(BitmapAccessMode::Read); if (pBuf) { - nCrc = vcl_get_checksum(0, pBuf->mpBits, pBuf->mnScanlineSize * pBuf->mnHeight); + nCrc = pBuf->maPalette.GetChecksum(); + nCrc = vcl_get_checksum(nCrc, pBuf->mpBits, pBuf->mnScanlineSize * pBuf->mnHeight); pThis->ReleaseBuffer(pBuf, BitmapAccessMode::Read); pThis->mnChecksum = nCrc; pThis->mbChecksumValid = true; |