oox/source/drawingml/diagram/diagramlayoutatoms.cxx | 10 +++++++++- sw/qa/core/data/ooxml/pass/fdo79129.docx |binary 2 files changed, 9 insertions(+), 1 deletion(-)
New commits: commit f5c7ce25cec1a01a1f154c180d46fc97b32a2105 Author: Caolán McNamara <[email protected]> Date: Tue Sep 30 10:43:37 2014 +0100 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 <[email protected]> Tested-by: Andras Timar <[email protected]> diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx index 2953660..2a196d5 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) diff --git a/sw/qa/core/data/ooxml/pass/fdo79129.docx b/sw/qa/core/data/ooxml/pass/fdo79129.docx new file mode 100644 index 0000000..46ff0f5 Binary files /dev/null and b/sw/qa/core/data/ooxml/pass/fdo79129.docx differ
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
