diff options
author | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2012-01-17 23:07:35 +0100 |
---|---|---|
committer | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2012-01-17 23:07:35 +0100 |
commit | 4f531307e6146b640070819bf15be221f4922785 (patch) | |
tree | cb60d2c9009f4ff3e4ffc894304f8639fca44821 | |
parent | 5c1bd6903605800440d3bd739f3f130a0e0aa873 (diff) |
Work-around a broken behaviour of LO Draw
-rw-r--r-- | src/lib/VSDXContentCollector.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/VSDXContentCollector.cpp b/src/lib/VSDXContentCollector.cpp index e78e5fd..fa1d5cf 100644 --- a/src/lib/VSDXContentCollector.cpp +++ b/src/lib/VSDXContentCollector.cpp @@ -486,7 +486,10 @@ void libvisio::VSDXContentCollector::_flushCurrentPath() } else if (m_currentGeometry[i]["libwpg:path-action"]->getStr() == "M") { - if ((startX == x && startY == y) && path.count() && !wasMove) + if (((startX == x && startY == y) + || (m_styleProps["draw:fill"] && m_styleProps["draw:fill"]->getStr() != "none" + && m_styleProps["draw:stroke"] && m_styleProps["draw:stroke"]->getStr() == "none")) + && path.count() && !wasMove) { WPXPropertyList closedPath; closedPath.insert("libwpg:path-action", "Z"); @@ -506,7 +509,10 @@ void libvisio::VSDXContentCollector::_flushCurrentPath() } path.append(m_currentGeometry[i]); } - if ((startX == x && startY == y) && path.count() && !wasMove) + if (((startX == x && startY == y) + || (m_styleProps["draw:fill"] && m_styleProps["draw:fill"]->getStr() != "none" + && m_styleProps["draw:stroke"] && m_styleProps["draw:stroke"]->getStr() == "none")) + && path.count() && !wasMove) { WPXPropertyList closedPath; closedPath.insert("libwpg:path-action", "Z"); |