From 8624d2c8e3be89c794d3cfcfb72685fcb18e4d24 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 18 Jul 2016 15:09:57 +0100 Subject: Resolves: tdf#100731 include palette in checksum Change-Id: I084d840b9fa078ebea3ff1471d8c8bc88171abc7 --- include/vcl/salbtype.hxx | 5 +++++ sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 2 +- 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 d86b715bcfee..a40f24f6eea8 100644 --- a/include/vcl/salbtype.hxx +++ b/include/vcl/salbtype.hxx @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -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 a1cefb0f8b06..d953c4f60e6c 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -769,7 +769,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; -- cgit v1.2.3