summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-07-18 15:09:57 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-07-18 15:33:31 +0100
commit8624d2c8e3be89c794d3cfcfb72685fcb18e4d24 (patch)
tree3b11894d71af7a94e30fe7c9cfc622e22696d2ca
parent0789b66353f75f4791754727629f553aa717be67 (diff)
Resolves: tdf#100731 include palette in checksum
Change-Id: I084d840b9fa078ebea3ff1471d8c8bc88171abc7
-rw-r--r--include/vcl/salbtype.hxx5
-rw-r--r--sw/qa/extras/ooxmlimport/ooxmlimport.cxx2
-rw-r--r--vcl/inc/salbmp.hxx3
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 <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 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;