diff options
author | Caolán McNamara <caolan.mcnamara@collabora.com> | 2023-07-27 10:30:35 +0100 |
---|---|---|
committer | Caolán McNamara <caolan.mcnamara@collabora.com> | 2023-07-27 15:13:06 +0200 |
commit | e06456180ade61aa519819702810a3b9779a6e9e (patch) | |
tree | 0346b21c58d932c4b9b30b8c92ecf2fac0b1ac14 /drawinglayer | |
parent | b73a8731c6f71a9a7cedc8e97afcd5a89b55cfe9 (diff) |
crashtesting: crash on export of forum-en-41439.odp to pdf
and various others.
since:
commit 81994cb2b8b32453a92bcb011830fcb884f22ff3
Date: Fri Apr 16 20:33:10 2021 +0200
Convert internal vcl bitmap formats transparency->alpha (II)
changed drawinglayer/source/tools/converters.cxx convertToBitmapEx
return BitmapEx(aRetval, aAlpha);
if (aAlpha.hasAlpha())
return BitmapEx(aRetval, aAlpha);
else
return BitmapEx(aRetval);
and SoftEdgePrimitive2D::create2DDecomposition assumes a mask exists.
Presumably no mask -> fully opaque -> do nothing is the right outcome
here.
Change-Id: I7379c55c822c149a4320509d27a159cf5a07cc09
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154985
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Diffstat (limited to 'drawinglayer')
-rw-r--r-- | drawinglayer/source/primitive2d/softedgeprimitive2d.cxx | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx b/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx index ecf4e48338d6..27e265ab1ae1 100644 --- a/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx @@ -197,6 +197,8 @@ void SoftEdgePrimitive2D::create2DDecomposition( // Get the Alpha and use as base to blur and apply the effect AlphaMask aMask(aBitmapEx.GetAlphaMask()); + if (aMask.IsEmpty()) // There is no mask, fully opaque + break; const AlphaMask blurMask(drawinglayer::primitive2d::ProcessAndBlurAlphaMask( aMask, -fDiscreteSoftRadius * fScale, fDiscreteSoftRadius * fScale, 0)); aMask.BlendWith(blurMask); |