summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-07-18 15:09:57 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-07-21 15:54:03 +0000
commita6e3f11f74959c1e756acb8a8f223075fcb43391 (patch)
treed7323b46543cbef1fc8748fb9125c1e9a286a7e4
parent181ead2326ea9359cd0077d7f3d955df1140d019 (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.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 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;