summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/VSDXContentCollector.cpp10
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");