libvisio/libvisio-0.0.17-fdo50988.patch | 27 +++++++++++++++++++++++++++ libvisio/makefile.mk | 1 + 2 files changed, 28 insertions(+)
New commits: commit 70ed7beae7b21e391df0a246078c2103f8b3fe3a Author: Julien Nabet <serval2...@yahoo.fr> Date: Thu Jun 14 21:57:06 2012 +0200 Resolves: fdo#50988 Fix Draw crashes on loading MS Logical Design Diagram example visio file It was a problem with an iterator. The comparison was OK only on "else" part. In the "if" part, iterators are from different sequences. Change-Id: I1ccc82a1c24289c0c2e89ef0275f0f5163dc8a8d Signed-off-by: Fridrich Å trba <fridrich.st...@bluewin.ch> diff --git a/libvisio/libvisio-0.0.17-fdo50988.patch b/libvisio/libvisio-0.0.17-fdo50988.patch new file mode 100644 index 0000000..50b2dba --- /dev/null +++ b/libvisio/libvisio-0.0.17-fdo50988.patch @@ -0,0 +1,27 @@ +--- misc/build/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-12 20:44:51.773937254 +0200 ++++ misc/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-14 21:38:10.947384110 +0200 +@@ -1601,6 +1601,7 @@ + void libvisio::VSDXContentCollector::collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned dataID) + { + std::map<unsigned, PolylineData>::const_iterator iter; ++ std::map<unsigned, PolylineData>::const_iterator iterEnd; + if (dataID == 0xFFFFFFFE) // Use stencil polyline data + { + if (!m_stencilShape || m_stencilShape->m_geometries.size() < m_currentGeometryCount) +@@ -1613,13 +1614,15 @@ + VSDXGeometryListElement *element = m_stencilShape->m_geometries[m_currentGeometryCount-1].getElement(id); + dataID = dynamic_cast<VSDXPolylineTo2 *>(element)->m_dataID; + iter = m_stencilShape->m_polylineData.find(dataID); ++ iterEnd = m_stencilShape->m_polylineData.end(); + } + else // No stencils involved, directly get dataID + { + iter = m_polylineData.find(dataID); ++ iterEnd = m_polylineData.end(); + } + +- if (iter != m_polylineData.end()) ++ if (iter != iterEnd) + { + PolylineData data = iter->second; + collectPolylineTo(id, level, x, y, data.xType, data.yType, data.points); diff --git a/libvisio/makefile.mk b/libvisio/makefile.mk index ac76289..305a32b 100644 --- a/libvisio/makefile.mk +++ b/libvisio/makefile.mk @@ -58,6 +58,7 @@ TARFILE_NAME=libvisio-0.0.17 TARFILE_MD5=90010e213dd25648e70f0cc12f8fed55 PATCH_FILES=\ + $(TARFILE_NAME)-fdo50988.patch \ $(TARFILE_NAME).patch BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits