diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-09-30 10:43:37 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2014-09-30 20:24:11 +0000 |
commit | f5c7ce25cec1a01a1f154c180d46fc97b32a2105 (patch) | |
tree | 7fca7c513cccf256aa603fbbacb0f81c26c46cd4 /oox | |
parent | 8cdb25a38530319e0b08d97d2706ff019797fe08 (diff) |
Resolves: fdo#79129 Crash in oox::drawingml::LayoutNode::setupShape
Change-Id: I0bafd2c43d29806eea0ff0cb165e67aece53488f
(cherry picked from commit c84ce79132c674b4c2d31da8997ed77671323dfe)
Reviewed-on: https://gerrit.libreoffice.org/11727
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/drawingml/diagram/diagramlayoutatoms.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx index 2953660ea442..2a196d533b27 100644 --- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx +++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx @@ -400,7 +400,15 @@ bool LayoutNode::setupShape( const ShapePtr& rShape, const Diagram& rDgm, sal_uI const DiagramData::StringMap::value_type::second_type::const_iterator aVecEnd=aNodeName->second.end(); while( aVecIter != aVecEnd ) { - DiagramData::PointNameMap::const_iterator aDataNode2=rDgm.getData()->getPointNameMap().find(aVecIter->first); + DiagramData::PointNameMap& rMap = rDgm.getData()->getPointNameMap(); + DiagramData::PointNameMap::const_iterator aDataNode2 = rMap.find(aVecIter->first); + if (aDataNode2 == rMap.end()) + { + //busted, skip it + ++aVecIter; + continue; + } + if( aVecIter->second == 0 ) { // grab shape attr from topmost element(s) |