diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-03-26 12:14:23 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-04-05 16:24:03 +0200 |
commit | 6ec045e846d49d60975cb4eb41f81e46652a0070 (patch) | |
tree | bab7fb9a528f54399213927c5ef2434374a9f666 | |
parent | 85a92ab3510641afd475a2d5fdffa9d8b7abcd39 (diff) |
forcepoint #32 survive missing emf paths
Change-Id: Ic27c3bbac12f66b30ff2f30f558180127cc73a51
Reviewed-on: https://gerrit.libreoffice.org/51876
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | cppcanvas/source/mtfrenderer/emfplus.cxx | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx index 8cfd1127540e..923099b0c056 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -1003,7 +1003,12 @@ namespace cppcanvas SAL_INFO("cppcanvas.emf", "EMF+ FillPath slot: " << index); - EMFPPlusFillPolygon( static_cast<EMFPPath*>( aObjects [index])->GetPolygon (*this), rFactoryParms, rState, rCanvas, flags & 0x8000, brushIndexOrColor); + EMFPPath* path = static_cast<EMFPPath*>(aObjects[index]); + if (path) + EMFPPlusFillPolygon(path->GetPolygon (*this), rFactoryParms, rState, rCanvas, flags & 0x8000, brushIndexOrColor); + else + SAL_WARN("cppcanvas.emf", "EmfPlusRecordTypeFillPath missing path"); + } break; case EmfPlusRecordTypeDrawEllipse: @@ -1128,9 +1133,10 @@ namespace cppcanvas SAL_INFO("cppcanvas.emf", "EMF+\tpen: " << penIndex); EMFPPath* path = static_cast<EMFPPath*>( aObjects [flags & 0xff] ); - SAL_WARN_IF( !path, "cppcanvas.emf", "EmfPlusRecordTypeDrawPath missing path" ); - - EMFPPlusDrawPolygon (path->GetPolygon (*this), rFactoryParms, rState, rCanvas, penIndex); + if (path) + EMFPPlusDrawPolygon(path->GetPolygon (*this), rFactoryParms, rState, rCanvas, penIndex); + else + SAL_WARN("cppcanvas.emf", "EmfPlusRecordTypeDrawPath missing path"); break; } |