Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/1821 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/21/1821/1 Fix fdo#59616 - ensure BitmapEx has same-sized subbitmaps Lots of code relies on the fact that the two bitmaps inside a BitmapEx actually have the same size. Enforce that convention during import. Change-Id: I436ccc33b06c627cd6347747d22c24bfaf7ca932 --- M vcl/source/gdi/bitmapex.cxx 1 file changed, 18 insertions(+), 0 deletions(-) diff --git a/vcl/source/gdi/bitmapex.cxx b/vcl/source/gdi/bitmapex.cxx index e717d0b..f699432 100644 --- a/vcl/source/gdi/bitmapex.cxx +++ b/vcl/source/gdi/bitmapex.cxx @@ -806,6 +806,24 @@ if( !!aMask) { + // fdo#59616 enforce same size for both mask and content + if( aMask.GetSizePixel() != aBmp.GetSizePixel() ) + { + Bitmap aNewMask; + const Size aNominalSize=aBmp.GetSizePixel(); + BitmapReadAccess aAcc(aMask); + if( aAcc.HasPalette() ) + aNewMask = Bitmap(aNominalSize, + aMask.GetBitCount(), + &aAcc.GetPalette()); + else + aNewMask = Bitmap(aNominalSize, + aMask.GetBitCount()); + const Rectangle aCopyArea(Point(0,0), aNominalSize); + aNewMask.CopyPixel(aCopyArea, aCopyArea, &aMask); + aMask = aNewMask; + } + // do we have an alpha mask? if( ( 8 == aMask.GetBitCount() ) && aMask.HasGreyPalette() ) { -- To view, visit https://gerrit.libreoffice.org/1821 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I436ccc33b06c627cd6347747d22c24bfaf7ca932 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: libreoffice-4-0 Gerrit-Owner: Thorsten Behrens <tbehr...@suse.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice