summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/extras/ooxmlexport/data/tdf79272_strictDxa.docxbin0 -> 12279 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport9.cxx7
-rw-r--r--writerfilter/source/ooxml/OOXMLPropertySet.cxx6
3 files changed, 8 insertions, 5 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf79272_strictDxa.docx b/sw/qa/extras/ooxmlexport/data/tdf79272_strictDxa.docx
new file mode 100644
index 000000000000..4d5ea67bd8ea
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf79272_strictDxa.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
index 3587dbfd53a6..859baec2ab43 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
@@ -165,6 +165,13 @@ DECLARE_OOXMLEXPORT_TEST(testTdf106970, "tdf106970.docx")
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(494), getProperty<sal_Int32>(getParagraph(4), "ParaBottomMargin"));
}
+DECLARE_OOXMLEXPORT_TEST(testTdf79272_strictDxa, "tdf79272_strictDxa.docx")
+{
+ uno::Reference<text::XTextTablesSupplier> xTablesSupplier(mxComponent, uno::UNO_QUERY);
+ uno::Reference<container::XIndexAccess> xTables(xTablesSupplier->getTextTables(), uno::UNO_QUERY);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(4318), getProperty<sal_Int32>(xTables->getByIndex(0), "Width"));
+}
+
DECLARE_OOXMLEXPORT_TEST(testKern, "kern.docx")
{
CPPUNIT_ASSERT(getProperty<bool>(getRun(getParagraph(1), 1), "CharAutoKerning"));
diff --git a/writerfilter/source/ooxml/OOXMLPropertySet.cxx b/writerfilter/source/ooxml/OOXMLPropertySet.cxx
index bd80f8dc5112..004e16f2eb6b 100644
--- a/writerfilter/source/ooxml/OOXMLPropertySet.cxx
+++ b/writerfilter/source/ooxml/OOXMLPropertySet.cxx
@@ -650,11 +650,7 @@ OOXMLMeasurementOrPercentValue::OOXMLMeasurementOrPercentValue(const char * pVal
}
else
{
- // TODO: also allow units. For that, we need to know
- // how to represent the number to converter or store
- // the value in the type as number + unit and have
- // getter with unit specification
- mnValue = static_cast<int>(val);
+ mnValue = OOXMLTwipsMeasureValue(pValue).getInt();
}
}