summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFridrich Štrba <fridrich.strba@bluewin.ch>2012-01-17 23:07:35 +0100
committerFridrich Štrba <fridrich.strba@bluewin.ch>2012-01-17 23:07:35 +0100
commit4f531307e6146b640070819bf15be221f4922785 (patch)
treecb60d2c9009f4ff3e4ffc894304f8639fca44821
parent5c1bd6903605800440d3bd739f3f130a0e0aa873 (diff)
Work-around a broken behaviour of LO Draw
-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");