diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-09-30 10:43:37 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-09-30 20:42:42 +0100 |
commit | c84ce79132c674b4c2d31da8997ed77671323dfe (patch) | |
tree | f8425f1e786edf66deb34d75220728b92b47c583 | |
parent | d59e33500a250824e713afacef2ea295576caba6 (diff) |
Resolves: fdo#79129 Crash in oox::drawingml::LayoutNode::setupShape
Change-Id: I0bafd2c43d29806eea0ff0cb165e67aece53488f
-rw-r--r-- | oox/source/drawingml/diagram/diagramlayoutatoms.cxx | 10 | ||||
-rw-r--r-- | sw/qa/core/data/ooxml/pass/fdo79129.docx | bin | 0 -> 47317 bytes |
2 files changed, 9 insertions, 1 deletions
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx index 049f409d4120..dc5f2db4755e 100644 --- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx +++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx @@ -394,7 +394,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) diff --git a/sw/qa/core/data/ooxml/pass/fdo79129.docx b/sw/qa/core/data/ooxml/pass/fdo79129.docx Binary files differnew file mode 100644 index 000000000000..46ff0f5ee552 --- /dev/null +++ b/sw/qa/core/data/ooxml/pass/fdo79129.docx |