diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-08-13 17:22:43 +0100 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2018-08-20 12:17:48 +0200 |
commit | e16f22b75f84695c58d6612be27364cc5814f51f (patch) | |
tree | 1d097643d1d3caa83b646e7f1f9f369197eb45ad /drawinglayer | |
parent | 4fb7390956a193e00c1b599129b89933c41f98ae (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.cxx | 13 |
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; |