--- misc/build/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-16 13:41:40.583153038 +0200 +++ misc/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-16 13:44:16.311155881 +0200 @@ -1131,14 +1131,16 @@ if (x <= m_pageWidth && x >= 0) points[x] = y; - xmove = points.begin()->first; - ymove = points.begin()->second; - for (std::map::iterator iter = points.begin(); iter != points.end(); ++iter) - { - if (iter->first != xmove || iter->second != ymove) + if (!points.empty()) { + xmove = points.begin()->first; + ymove = points.begin()->second; + for (std::map::iterator iter = points.begin(); iter != points.end(); ++iter) { - xline = iter->first; - yline = iter->second; + if (iter->first != xmove || iter->second != ymove) + { + xline = iter->first; + yline = iter->second; + } } } }