summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorJacobo Aragunde Pérez <jaragunde@igalia.com>2014-04-30 12:14:02 +0200
committerJacobo Aragunde Pérez <jaragunde@igalia.com>2014-04-30 16:46:11 +0200
commitae4e79e7728b39bdb98f023d950dbbfa7c4c38d4 (patch)
tree95c4aef4f5d57c55945e96b31bed61b1c8e79a37 /oox
parent2310af236659f4fdd4c26b1e277e568d04a20687 (diff)
oox: Code protection against empty effects
This is an extra check against clumsy programmers like me to prevent generating incorrect documents. Change-Id: I22261e3b6123a9a44461683519e33224f08adb5a
Diffstat (limited to 'oox')
-rw-r--r--oox/source/export/drawingml.cxx27
1 files changed, 15 insertions, 12 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index a1f00fd05ddf..1fde44a0f713 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -2251,20 +2251,23 @@ void DrawingML::WriteShapeEffects( Reference< XPropertySet > rXPropSet )
}
}
- mpFS->startElementNS(XML_a, XML_effectLst, FSEND);
- sax_fastparser::XFastAttributeListRef xAttrList( aOuterShdwAttrList );
- mpFS->startElement( nEffectToken, xAttrList );
-
- if( bContainsColor )
+ if( nEffectToken > 0 )
{
- if( sSchemeClr.isEmpty() )
- WriteColor( nRgbClr, nAlpha );
- else
- WriteColor( sSchemeClr, aTransformations );
- }
+ mpFS->startElementNS(XML_a, XML_effectLst, FSEND);
+ sax_fastparser::XFastAttributeListRef xAttrList( aOuterShdwAttrList );
+ mpFS->startElement( nEffectToken, xAttrList );
- mpFS->endElement( nEffectToken );
- mpFS->endElementNS(XML_a, XML_effectLst);
+ if( bContainsColor )
+ {
+ if( sSchemeClr.isEmpty() )
+ WriteColor( nRgbClr, nAlpha );
+ else
+ WriteColor( sSchemeClr, aTransformations );
+ }
+
+ mpFS->endElement( nEffectToken );
+ mpFS->endElementNS(XML_a, XML_effectLst);
+ }
}
}