From 4dd8aa2630074b479b216da8ee7b50ed0bf78511 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Tue, 14 Aug 2012 12:03:57 +0200 Subject: [PATCH] fdo#53113 vml export: handle custom segment types It seems that EscherPropertyContainer::CreateCustomShapeProperties() simply sets nSeg to the number of (lineto) point pairs by default. Change-Id: I24bde088f5f2970d53de827e1ca03c5419ac892c --- oox/source/export/vmlexport.cxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/oox/source/export/vmlexport.cxx b/oox/source/export/vmlexport.cxx index 08aac17aee86..e764d879c32c 100644 --- a/oox/source/export/vmlexport.cxx +++ b/oox/source/export/vmlexport.cxx @@ -466,9 +466,13 @@ void VMLExport::Commit( EscherPropertyContainer& rProps, const Rectangle& rRect aPath.append( "e" ); break; default: -#if OSL_DEBUG_LEVEL > 0 - fprintf( stderr, "TODO: unhandled segment '%x' in the path\n", nSeg ); -#endif + // See EscherPropertyContainer::CreateCustomShapeProperties, by default nSeg is simply the number of points. + for (int i = 0; i < nSeg; ++i) + { + sal_Int32 nX = impl_GetPointComponent(pVerticesIt, nPointSize); + sal_Int32 nY = impl_GetPointComponent(pVerticesIt, nPointSize); + aPath.append("l").append(nX).append(",").append(nY); + } break; } }