summaryrefslogtreecommitdiff
path: root/drawinglayer
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-08-13 17:22:43 +0100
committerMichael Stahl <Michael.Stahl@cib.de>2018-08-20 12:17:48 +0200
commite16f22b75f84695c58d6612be27364cc5814f51f (patch)
tree1d097643d1d3caa83b646e7f1f9f369197eb45ad /drawinglayer
parent4fb7390956a193e00c1b599129b89933c41f98ae (diff)
ofz: Null-deference
Change-Id: I339cfb54379b1c98a04747046ed599a23d49c220 Reviewed-on: https://gerrit.libreoffice.org/58950 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/source/tools/emfphelperdata.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/drawinglayer/source/tools/emfphelperdata.cxx b/drawinglayer/source/tools/emfphelperdata.cxx
index c529c255beb1..a5b31b1b4ebe 100644
--- a/drawinglayer/source/tools/emfphelperdata.cxx
+++ b/drawinglayer/source/tools/emfphelperdata.cxx
@@ -1665,8 +1665,13 @@ namespace emfplushelper
SAL_INFO("drawinglayer", "EMF+ SetClipPath combine mode: " << combineMode);
SAL_INFO("drawinglayer", "EMF+\tpath in slot: " << (flags & 0xff));
- EMFPPath& path = *static_cast<EMFPPath*>(maEMFPObjects[flags & 0xff].get());
- ::basegfx::B2DPolyPolygon& clipPoly(path.GetPolygon(*this));
+ EMFPPath *path = static_cast<EMFPPath*>(maEMFPObjects[flags & 0xff].get());
+ if (!path)
+ {
+ break;
+ }
+
+ ::basegfx::B2DPolyPolygon& clipPoly(path->GetPolygon(*this));
// clipPoly.transform(rState.mapModeTransform);
HandleNewClipRegion( combineClip(mrPropertyHolders.Current().getClipPolyPolygon(), combineMode, clipPoly), mrTargetHolders, mrPropertyHolders);
@@ -1678,6 +1683,10 @@ namespace emfplushelper
SAL_INFO("drawinglayer", "EMF+ SetClipRegion");
SAL_INFO("drawinglayer", "EMF+\tregion in slot: " << (flags & 0xff) << " combine mode: " << combineMode);
EMFPRegion *region = static_cast<EMFPRegion*>(maEMFPObjects[flags & 0xff].get());
+ if (!region)
+ {
+ break;
+ }
HandleNewClipRegion(combineClip(mrPropertyHolders.Current().getClipPolyPolygon(), combineMode, region->regionPolyPolygon), mrTargetHolders, mrPropertyHolders);
break;