diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-09-30 10:43:37 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-10-01 08:02:36 +0000 |
commit | 97291b92b70249c1bcdca33425585b201a1822db (patch) | |
tree | b2c1629470713fd08cec5ce87b07671251a2d8a7 /oox | |
parent | 3c8eb2fe90622afce3ee935000f8f549b5d0efa7 (diff) |
Resolves: fdo#79129 Crash in oox::drawingml::LayoutNode::setupShape
Change-Id: I0bafd2c43d29806eea0ff0cb165e67aece53488f
Reviewed-on: https://gerrit.libreoffice.org/11726
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
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 ba1f8574961e..fc07a900d824 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) |