diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-03-26 12:14:23 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-04-12 10:54:33 +0200 |
commit | 0f5698ccd5c89e7be67c546543b891c09ceddd9d (patch) | |
tree | eb0f56f7ba79bd2ab63eca05f0318248de30f58d /drawinglayer | |
parent | 5fde12b6e6517c6a7b8edd4e26aefde84e0e534b (diff) |
forcepoint #32 survive missing emf paths
Change-Id: Ic27c3bbac12f66b30ff2f30f558180127cc73a51
Reviewed-on: https://gerrit.libreoffice.org/51874
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit 94c1f958d381b715816921f80e4142a052b77242)
Diffstat (limited to 'drawinglayer')
-rw-r--r-- | drawinglayer/source/tools/emfphelperdata.cxx | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drawinglayer/source/tools/emfphelperdata.cxx b/drawinglayer/source/tools/emfphelperdata.cxx index a5dda5d2ad96..09c3a2854aab 100644 --- a/drawinglayer/source/tools/emfphelperdata.cxx +++ b/drawinglayer/source/tools/emfphelperdata.cxx @@ -938,7 +938,11 @@ namespace emfplushelper rMS.ReadUInt32(brushIndexOrColor); SAL_INFO("drawinglayer", "EMF+ FillPath slot: " << index); - EMFPPlusFillPolygon(static_cast<EMFPPath*>(maEMFPObjects[index].get())->GetPolygon(*this), flags & 0x8000, brushIndexOrColor); + EMFPPath* path = static_cast<EMFPPath*>(maEMFPObjects[index].get()); + if (path) + EMFPPlusFillPolygon(path->GetPolygon(*this), flags & 0x8000, brushIndexOrColor); + else + SAL_WARN("drawinglayer", "EmfPlusRecordTypeFillPath missing path"); } break; case EmfPlusRecordTypeFillRegion: @@ -1061,10 +1065,12 @@ namespace emfplushelper rMS.ReadUInt32(penIndex); SAL_INFO("drawinglayer", "EMF+ DrawPath"); SAL_INFO("drawinglayer", "EMF+\tpen: " << penIndex); - EMFPPath* path = static_cast<EMFPPath*>(maEMFPObjects[flags & 0xff].get()); - SAL_WARN_IF(!path, "drawinglayer", "EmfPlusRecordTypeDrawPath missing path"); - EMFPPlusDrawPolygon(path->GetPolygon(*this), penIndex); + EMFPPath* path = static_cast<EMFPPath*>(maEMFPObjects[flags & 0xff].get()); + if (path) + EMFPPlusDrawPolygon(path->GetPolygon(*this), penIndex); + else + SAL_WARN("drawinglayer", "EmfPlusRecordTypeDrawPath missing path"); break; } |