diff options
Diffstat (limited to 'libvisio/libvisio-0.0.19.patch')
-rw-r--r-- | libvisio/libvisio-0.0.19.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/libvisio/libvisio-0.0.19.patch b/libvisio/libvisio-0.0.19.patch deleted file mode 100644 index ee3c17f51af2..000000000000 --- a/libvisio/libvisio-0.0.19.patch +++ /dev/null @@ -1,116 +0,0 @@ ---- src/lib/VSDXContentCollector.cpp -+++ src/lib/VSDXContentCollector.cpp -@@ -676,7 +676,6 @@ double libvisio::VSDXContentCollector::_linePropertiesMarkerScale(unsigned marke - - void libvisio::VSDXContentCollector::_flushCurrentPath() - { -- WPXPropertyListVector path; - WPXPropertyList fillPathProps(m_styleProps); - fillPathProps.insert("draw:stroke", "none"); - WPXPropertyList linePathProps(m_styleProps); -@@ -695,6 +694,7 @@ void libvisio::VSDXContentCollector::_flushCurrentPath() - if (needsGroup) - m_shapeOutputDrawing->addStartLayer(WPXPropertyList()); - -+ std::vector<WPXPropertyList> tmpPath; - if (m_styleProps["draw:fill"] && m_styleProps["draw:fill"]->getStr() != "none") - { - bool firstPoint = true; -@@ -708,39 +708,84 @@ void libvisio::VSDXContentCollector::_flushCurrentPath() - } - else if (m_currentFillGeometry[i]["libwpg:path-action"]->getStr() == "M") - { -- if (path.count() && !wasMove) -+ if (!tmpPath.empty()) - { -- WPXPropertyList closedPath; -- closedPath.insert("libwpg:path-action", "Z"); -- path.append(closedPath); -+ if (!wasMove) -+ { -+ WPXPropertyList closedPath; -+ closedPath.insert("libwpg:path-action", "Z"); -+ tmpPath.push_back(closedPath); -+ } -+ else -+ { -+ tmpPath.pop_back(); -+ } - } - wasMove = true; - } - else - wasMove = false; -- path.append(m_currentFillGeometry[i]); -+ tmpPath.push_back(m_currentFillGeometry[i]); - } -- if (path.count() && !wasMove) -+ if (!tmpPath.empty()) - { -- WPXPropertyList closedPath; -- closedPath.insert("libwpg:path-action", "Z"); -- path.append(closedPath); -+ if (!wasMove) -+ { -+ WPXPropertyList closedPath; -+ closedPath.insert("libwpg:path-action", "Z"); -+ tmpPath.push_back(closedPath); -+ } -+ else -+ tmpPath.pop_back(); - } -- if (path.count()) -+ if (!tmpPath.empty()) - { -+ WPXPropertyListVector path; -+ for (unsigned i = 0; i < tmpPath.size(); ++i) -+ path.append(tmpPath[i]); - m_shapeOutputDrawing->addStyle(fillPathProps, WPXPropertyListVector()); - m_shapeOutputDrawing->addPath(path); - } - } - m_currentFillGeometry.clear(); -- path = WPXPropertyListVector(); -+ tmpPath.clear(); - - if (m_styleProps["draw:stroke"] && m_styleProps["draw:stroke"]->getStr() != "none") - { -+ bool firstPoint = true; -+ bool wasMove = false; - for (unsigned i = 0; i < m_currentLineGeometry.size(); i++) -- path.append(m_currentLineGeometry[i]); -- if (path.count()) - { -+ if (firstPoint) -+ { -+ firstPoint = false; -+ wasMove = true; -+ } -+ else if (m_currentLineGeometry[i]["libwpg:path-action"]->getStr() == "M") -+ { -+ if (!tmpPath.empty()) -+ { -+ if (wasMove) -+ { -+ tmpPath.pop_back(); -+ } -+ } -+ wasMove = true; -+ } -+ else -+ wasMove = false; -+ tmpPath.push_back(m_currentLineGeometry[i]); -+ } -+ if (!tmpPath.empty()) -+ { -+ if (wasMove) -+ tmpPath.pop_back(); -+ } -+ if (!tmpPath.empty()) -+ { -+ WPXPropertyListVector path; -+ for (unsigned i = 0; i < tmpPath.size(); ++i) -+ path.append(tmpPath[i]); - m_shapeOutputDrawing->addStyle(linePathProps, WPXPropertyListVector()); - m_shapeOutputDrawing->addPath(path); - } |