summaryrefslogtreecommitdiffstats
path: root/drawinglayer
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-03-26 12:14:23 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-03-26 17:55:18 +0200
commit2634200a15c42e45edcaaaeac81243c67ded3ad1 (patch)
tree0fb83f84a4b6a9ffd2d91937b13c2b8188566ffc /drawinglayer
parentgtk3: improve cancel, no, yes order (diff)
downloadcore-2634200a15c42e45edcaaaeac81243c67ded3ad1.tar.gz
core-2634200a15c42e45edcaaaeac81243c67ded3ad1.zip
forcepoint #32 survive missing emf paths
Change-Id: Ic27c3bbac12f66b30ff2f30f558180127cc73a51 Reviewed-on: https://gerrit.libreoffice.org/51873 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/source/tools/emfphelperdata.cxx14
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;
}