[Libreoffice-commits] core.git: oox/source sw/qa
Caolán McNamara
caolanm at redhat.com
Wed Jun 10 04:42:42 PDT 2015
oox/source/export/drawingml.cxx | 17 +++++++++--------
sw/qa/extras/ooxmlexport/data/kde302504-1.odt |binary
sw/qa/extras/ooxmlexport/ooxmlexport5.cxx | 6 ++++++
3 files changed, 15 insertions(+), 8 deletions(-)
New commits:
commit aeb52a855d55475ff2e74f5308ae580dce3e069f
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Jun 10 12:20:31 2015 +0100
fix fatal attempt to export kde302504-1.odt to docx
the enhanced-path contains decimal points so the
last element is a double not an integer
Change-Id: I90be76a2d4cb90ee7a904aa72fe65770c675fc53
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 236678a..e510eb8 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -2289,14 +2289,15 @@ void DrawingML::WriteCustomGeometry( Reference< XShape > rXShape )
for ( int j = 0; j < aPairs.getLength(); ++j )
{
- if ( aPairs[j].First.Value.get<sal_Int32>() < nXMin )
- nXMin = aPairs[j].First.Value.get<sal_Int32>();
- if ( aPairs[j].Second.Value.get<sal_Int32>() < nYMin )
- nYMin = aPairs[j].Second.Value.get<sal_Int32>();
- if ( aPairs[j].First.Value.get<sal_Int32>() > nXMax )
- nXMax = aPairs[j].First.Value.get<sal_Int32>();
- if ( aPairs[j].Second.Value.get<sal_Int32>() > nYMax )
- nYMax = aPairs[j].Second.Value.get<sal_Int32>();
+ sal_Int32 nCandidate(0);
+ if ((aPairs[j].First.Value >>= nCandidate) && nCandidate < nXMin)
+ nXMin = nCandidate;
+ if ((aPairs[j].Second.Value >>= nCandidate) && nCandidate < nYMin)
+ nYMin = nCandidate;
+ if ((aPairs[j].First.Value >>= nCandidate) && nCandidate > nXMax)
+ nXMax = nCandidate;
+ if ((aPairs[j].Second.Value >>= nCandidate) && nCandidate > nYMax)
+ nYMax = nCandidate;
}
mpFS->startElementNS( XML_a, XML_path,
XML_w, I64S( nXMax - nXMin ),
diff --git a/sw/qa/extras/ooxmlexport/data/kde302504-1.odt b/sw/qa/extras/ooxmlexport/data/kde302504-1.odt
new file mode 100644
index 0000000..d0b7c60
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/kde302504-1.odt differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
index b63d755..67ad8df 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
@@ -831,6 +831,12 @@ DECLARE_OOXMLEXPORT_TEST(testOO67471, "ooo67471-2.odt")
assertXPathContent(pXmlDoc, "(//w:t)[2]", "B");
}
+DECLARE_OOXMLEXPORT_TEST(testKDE302504, "kde302504-1.odt")
+{
+ if (xmlDocPtr pXmlDoc = parseExport("word/document.xml"))
+ assertXPath(pXmlDoc, "//v:shape", "ID", "KoPathShape");
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
More information about the Libreoffice-commits
mailing list