summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorAndras Timar <andras.timar@collabora.com>2015-11-19 11:37:56 +0100
committerAndras Timar <andras.timar@collabora.com>2015-11-28 14:15:42 +0100
commit31b1cdb55fd697345c4a5944c743b68cc7b474d6 (patch)
treef8dbb78a3905977d47a5dbad4ddbb999d2471a9d /oox
parenteeeb4b2b1552a78a29b05facd67ffa3244727bb0 (diff)
tdf#92527 construct default Segments sequence, when there is none
ODF export in xmloff does the same Reviewed-on: https://gerrit.libreoffice.org/20051 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 11b7a2c89b8e155bf1da79107878f066847b46eb) Change-Id: I78ddbef3ac96f10f334c45a467dafb95bb9e3453 Reviewed-on: https://gerrit.libreoffice.org/20066 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 7cb41280ca4eb9e33c9ef06ea296bf91ba5a83ee)
Diffstat (limited to 'oox')
-rw-r--r--oox/source/export/drawingml.cxx15
1 files changed, 14 insertions, 1 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index ecb66e365313..493a8945db53 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -2282,9 +2282,22 @@ void DrawingML::WriteCustomGeometry( Reference< XShape > rXShape )
rPathProp.Value >>= aPathSize;
}
- if ( !aPairs.hasElements() || !aSegments.hasElements() )
+ if ( !aPairs.hasElements() )
return;
+ if ( !aSegments.hasElements() )
+ {
+ aSegments = uno::Sequence<drawing::EnhancedCustomShapeSegment>(4);
+ aSegments[0].Count = 1;
+ aSegments[0].Command = drawing::EnhancedCustomShapeSegmentCommand::MOVETO;
+ aSegments[1].Count = (sal_Int16)std::min( aPairs.getLength() - 1, (sal_Int32)32767 );
+ aSegments[1].Command = drawing::EnhancedCustomShapeSegmentCommand::LINETO;
+ aSegments[2].Count = 0;
+ aSegments[2].Command = drawing::EnhancedCustomShapeSegmentCommand::CLOSESUBPATH;
+ aSegments[3].Count = 0;
+ aSegments[3].Command = drawing::EnhancedCustomShapeSegmentCommand::ENDSUBPATH;
+ }
+
int nExpectedPairCount = 0;
for( int j = 0; j < aSegments.getLength(); ++j )
{