Kaydet (Commit) 8c2843d8 authored tarafından Fridrich Štrba's avatar Fridrich Štrba

Uploading libvisio 0.0.18, fixing fdo#48602

Change-Id: I8ab9462409bf5e0769d043209a8e2005bfdf4e0a
üst a164d246
--- misc/build/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-16 13:41:40.583153038 +0200
+++ misc/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-16 13:44:16.311155881 +0200
@@ -1131,14 +1131,16 @@
if (x <= m_pageWidth && x >= 0)
points[x] = y;
- xmove = points.begin()->first;
- ymove = points.begin()->second;
- for (std::map<double, double>::iterator iter = points.begin(); iter != points.end(); ++iter)
- {
- if (iter->first != xmove || iter->second != ymove)
+ if (!points.empty()) {
+ xmove = points.begin()->first;
+ ymove = points.begin()->second;
+ for (std::map<double, double>::iterator iter = points.begin(); iter != points.end(); ++iter)
{
- xline = iter->first;
- yline = iter->second;
+ if (iter->first != xmove || iter->second != ymove)
+ {
+ xline = iter->first;
+ yline = iter->second;
+ }
}
}
}
--- misc/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-18 10:18:48.450129329 +0200
+++ misc/build/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-18 10:18:17.935927778 +0200
@@ -91,7 +91,8 @@
else if (m_fillPattern == 1)
{
m_fillType = "solid";
- m_styleProps.insert("draw:fill-color", getColourString(m_colours[colourIndexFG]));
+ if (colourIndexFG < m_colours.size())
+ m_styleProps.insert("draw:fill-color", getColourString(m_colours[colourIndexFG]));
if (m_fillFGTransparency > 0)
m_styleProps.insert("draw:opacity", (double)(1 - m_fillFGTransparency/255.0), WPX_PERCENT);
else
@@ -101,8 +102,10 @@
{
m_fillType = "gradient";
m_styleProps.insert("draw:style", "axial");
- m_styleProps.insert("draw:start-color", getColourString(m_colours[colourIndexFG]));
- m_styleProps.insert("draw:end-color", getColourString(m_colours[colourIndexBG]));
+ if (colourIndexFG < m_colours.size())
+ m_styleProps.insert("draw:start-color", getColourString(m_colours[colourIndexFG]));
+ if (colourIndexBG < m_colours.size())
+ m_styleProps.insert("draw:end-color", getColourString(m_colours[colourIndexBG]));
m_styleProps.remove("draw:opacity");
if (m_fillBGTransparency > 0)
m_styleProps.insert("libwpg:start-opacity", (double)(1 - m_fillBGTransparency/255.0), WPX_PERCENT);
@@ -123,8 +126,10 @@
{
m_fillType = "gradient";
m_styleProps.insert("draw:style", "linear");
- m_styleProps.insert("draw:start-color", getColourString(m_colours[colourIndexBG]));
- m_styleProps.insert("draw:end-color", getColourString(m_colours[colourIndexFG]));
+ if (colourIndexBG < m_colours.size())
+ m_styleProps.insert("draw:start-color", getColourString(m_colours[colourIndexBG]));
+ if (colourIndexFG < m_colours.size())
+ m_styleProps.insert("draw:end-color", getColourString(m_colours[colourIndexFG]));
m_styleProps.remove("draw:opacity");
if (m_fillBGTransparency > 0)
m_styleProps.insert("libwpg:start-opacity", (double)(1 - m_fillBGTransparency/255.0), WPX_PERCENT);
@@ -170,8 +175,10 @@
m_styleProps.insert("draw:style", "rectangular");
m_styleProps.insert("svg:cx", 0.5, WPX_PERCENT);
m_styleProps.insert("svg:cy", 0.5, WPX_PERCENT);
- m_styleProps.insert("draw:start-color", getColourString(m_colours[colourIndexBG]));
- m_styleProps.insert("draw:end-color", getColourString(m_colours[colourIndexFG]));
+ if (colourIndexBG < m_colours.size())
+ m_styleProps.insert("draw:start-color", getColourString(m_colours[colourIndexBG]));
+ if (colourIndexFG < m_colours.size())
+ m_styleProps.insert("draw:end-color", getColourString(m_colours[colourIndexFG]));
m_styleProps.remove("draw:opacity");
if (m_fillBGTransparency > 0)
m_styleProps.insert("libwpg:start-opacity", (double)(1 - m_fillBGTransparency/255.0), WPX_PERCENT);
@@ -188,8 +195,10 @@
{
m_fillType = "gradient";
m_styleProps.insert("draw:style", "radial");
- m_styleProps.insert("draw:start-color", getColourString(m_colours[colourIndexBG]));
- m_styleProps.insert("draw:end-color", getColourString(m_colours[colourIndexFG]));
+ if (colourIndexBG < m_colours.size())
+ m_styleProps.insert("draw:start-color", getColourString(m_colours[colourIndexBG]));
+ if (colourIndexFG < m_colours.size())
+ m_styleProps.insert("draw:end-color", getColourString(m_colours[colourIndexFG]));
m_styleProps.remove("draw:opacity");
if (m_fillBGTransparency > 0)
m_styleProps.insert("libwpg:start-opacity", (double)(1 - m_fillBGTransparency/255.0), WPX_PERCENT);
--- misc/build/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-12 20:44:51.773937254 +0200
+++ misc/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-14 21:38:10.947384110 +0200
@@ -1601,6 +1601,7 @@
void libvisio::VSDXContentCollector::collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned dataID)
{
std::map<unsigned, PolylineData>::const_iterator iter;
+ std::map<unsigned, PolylineData>::const_iterator iterEnd;
if (dataID == 0xFFFFFFFE) // Use stencil polyline data
{
if (!m_stencilShape || m_stencilShape->m_geometries.size() < m_currentGeometryCount)
@@ -1613,13 +1614,15 @@
VSDXGeometryListElement *element = m_stencilShape->m_geometries[m_currentGeometryCount-1].getElement(id);
dataID = dynamic_cast<VSDXPolylineTo2 *>(element)->m_dataID;
iter = m_stencilShape->m_polylineData.find(dataID);
+ iterEnd = m_stencilShape->m_polylineData.end();
}
else // No stencils involved, directly get dataID
{
iter = m_polylineData.find(dataID);
+ iterEnd = m_polylineData.end();
}
- if (iter != m_polylineData.end())
+ if (iter != iterEnd)
{
PolylineData data = iter->second;
collectPolylineTo(id, level, x, y, data.xType, data.yType, data.points);
--- misc/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-05-31 15:14:42.000000000 +0200
+++ misc/build/libvisio-0.0.17/src/lib/VSDXContentCollector.cpp 2012-06-09 00:08:24.139051461 +0200
@@ -1429,7 +1429,10 @@ void libvisio::VSDXContentCollector::collectNURBSTo(unsigned /* id */, unsigned
// Fill in end knots
while (knotVector.size() < (controlPoints.size() + degree + 2))
- knotVector.push_back(knotVector.back());
+ {
+ double tmpBack = knotVector.back();
+ knotVector.push_back(tmpBack);
+ }
// Convert control points to static co-ordinates
for (std::vector<std::pair<double, double> >::iterator it = controlPoints.begin();
@@ -2059,7 +2062,11 @@
void libvisio::VSDXContentCollector::_convertDataToString(WPXString &result, const WPXBinaryData &data, TextFormat format)
{
+ if (!data.size())
+ return;
WPXInputStream *pStream = const_cast<WPXInputStream *>(data.getDataStream());
+ if (!pStream)
+ return;
if (format == VSD_TEXT_ANSI)
{
while (!pStream->atEOS())
@@ -2312,6 +2312,8 @@ void libvisio::VSDXContentCollector::endPages(const std::vector<unsigned> &pageO
void libvisio::VSDXContentCollector::_appendUTF16LE(WPXString &text, WPXInputStream *input)
{
+ if (!input)
+ return;
while (!input->atEOS())
{
uint16_t high_surrogate = 0;
......@@ -54,14 +54,8 @@ INCPRE+=$(WPG_CFLAGS)
INCPRE+=$(SOLARVER)$/$(UPD)$/$(INPATH)$/inc$/libwpg
.ENDIF
TARFILE_NAME=libvisio-0.0.17
TARFILE_MD5=90010e213dd25648e70f0cc12f8fed55
PATCH_FILES=\
$(TARFILE_NAME)-fdo50988.patch \
$(TARFILE_NAME)-fdo48601_part1.patch \
$(TARFILE_NAME)-fdo48601_part2.patch \
$(TARFILE_NAME).patch
TARFILE_NAME=libvisio-0.0.18
TARFILE_MD5=a9a1db27688bad49418667b434d29c1f
BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
BUILD_DIR=src$/lib
......
......@@ -86,7 +86,7 @@ d197bd6211669a2fa4ca648faf04bcb1-libwps-0.2.7.tar.bz2
f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2
3121aaf3e13e5d88dfff13fb4a5f1ab8-hunspell-1.3.2.tar.gz
3bf481ca95109b14435125c0dd1f2217-graphite2-1.0.3.tgz
90010e213dd25648e70f0cc12f8fed55-libvisio-0.0.17.tar.bz2
a9a1db27688bad49418667b434d29c1f-libvisio-0.0.18.tar.bz2
e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip
ce31ac7b92cb5e66459f67213bbb6168-libcmis-0.2.2.tar.gz
ce5a1def34578b75959ac31210f031f6-libcdr-0.0.8.tar.bz2
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment