diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-03-26 12:14:23 +0100 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2018-06-01 14:26:47 +0200 |
commit | dd7dbf3b3f589c4285da56b213947fad5d5dd93e (patch) | |
tree | a8c4ffd09d753308d22f8f039077ecbabc3a0a2b | |
parent | ae20434a0f186df2f4a6e6def1b6d1953ac2df27 (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 0b31a3a96a87..8c0b73b5ef1b 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -1933,7 +1933,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: @@ -2058,9 +2063,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; } |