summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-08-14 12:03:57 +0200
committerMiklos Vajna <vmiklos@suse.cz>2012-08-14 12:20:10 +0200
commit4dd8aa2630074b479b216da8ee7b50ed0bf78511 (patch)
tree760f293208ad45d7670cb22e05bdc3b743ef06bb
parent89587e6cf1182095e52f6c5a3ddab35c783fca2e (diff)
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
-rw-r--r--oox/source/export/vmlexport.cxx10
1 files 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;
}
}