[Libreoffice-commits] core.git: include/vcl vcl/source
Noel Grandin
noel.grandin at collabora.co.uk
Mon Oct 9 19:06:03 UTC 2017
include/vcl/bitmap.hxx | 2 ++
vcl/source/gdi/bitmapex.cxx | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
New commits:
commit 19e37a2c8097ee4878a593cad4ce01d9fc5b24fb
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Sun Oct 8 12:30:27 2017 +0200
tdf#112939 Color on drop-down color chooser is always black
regression from
commit 404630c6052919c1a0b5dab405084c2a39fc2f5c
simplify Bitmap operator==/IsEqual (stage1)
Change-Id: Ifabbfb28e0ccbe28b19db7f2c50e6d6f55569f9a
Reviewed-on: https://gerrit.libreoffice.org/43239
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/include/vcl/bitmap.hxx b/include/vcl/bitmap.hxx
index e0d92edfd462..b844807d7d48 100644
--- a/include/vcl/bitmap.hxx
+++ b/include/vcl/bitmap.hxx
@@ -227,6 +227,8 @@ public:
inline bool operator!() const;
bool operator==( const Bitmap& rBitmap ) const;
bool operator!=( const Bitmap& rBitmap ) const { return !operator==(rBitmap); }
+ // only compares if we are using the same internal copy-on-write Impl class
+ bool ShallowEquals( const Bitmap& rBitmap ) const { return mxImpBmp == rBitmap.mxImpBmp; }
inline bool IsEmpty() const;
void SetEmpty();
diff --git a/vcl/source/gdi/bitmapex.cxx b/vcl/source/gdi/bitmapex.cxx
index 5f27cba71e3a..658a53a5e429 100644
--- a/vcl/source/gdi/bitmapex.cxx
+++ b/vcl/source/gdi/bitmapex.cxx
@@ -193,7 +193,7 @@ bool BitmapEx::operator==( const BitmapEx& rBitmapEx ) const
if( eTransparent != rBitmapEx.eTransparent )
return false;
- if( aBitmap != rBitmapEx.aBitmap )
+ if( !aBitmap.ShallowEquals(rBitmapEx.aBitmap) )
return false;
if( aBitmapSize != rBitmapEx.aBitmapSize )
@@ -205,7 +205,7 @@ bool BitmapEx::operator==( const BitmapEx& rBitmapEx ) const
if( eTransparent == TransparentType::Color )
return aTransparentColor == rBitmapEx.aTransparentColor;
- return aMask == rBitmapEx.aMask && bAlpha == rBitmapEx.bAlpha;
+ return aMask.ShallowEquals(rBitmapEx.aMask) && bAlpha == rBitmapEx.bAlpha;
}
bool BitmapEx::IsEmpty() const
More information about the Libreoffice-commits
mailing list