diff options
-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"); |