diff options
author | Aron Budea <aron.budea@collabora.com> | 2017-05-28 23:16:24 +0200 |
---|---|---|
committer | Aron Budea <aron.budea@collabora.com> | 2017-05-31 15:25:37 +0200 |
commit | 6c6d3efdd5dcb81e6536899896358f054563c7eb (patch) | |
tree | 430a7ceb7ac8449bea063f7d5ce4f3cbf66443ae | |
parent | a41b599b307f77aea4196c064ef015d03ca26a14 (diff) |
tdf#108072: match sprmTFCantSplit with its correct id
The behavior was adjusted with
72ef0d88e916b320de85fe2ebf08cb7aea28ca08 , but the ids
for sprmTFCantSplit90 and sprmTFCantSplit remained mixed up.
Change-Id: Ic97224a3af39e5df707a6dba59b785580c17b739
Reviewed-on: https://gerrit.libreoffice.org/38117
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit e0e12738449063abd9aad34ef78d26183ff11d6a)
Reviewed-on: https://gerrit.libreoffice.org/38275
Reviewed-by: Aron Budea <aron.budea@collabora.com>
-rw-r--r-- | sw/qa/extras/ww8export/data/tdf108072.doc | bin | 0 -> 28672 bytes | |||
-rw-r--r-- | sw/qa/extras/ww8export/ww8export2.cxx | 14 | ||||
-rw-r--r-- | sw/source/filter/ww8/wrtww8.cxx | 4 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8par2.cxx | 2 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8par6.cxx | 8 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8scan.cxx | 4 |
6 files changed, 23 insertions, 9 deletions
diff --git a/sw/qa/extras/ww8export/data/tdf108072.doc b/sw/qa/extras/ww8export/data/tdf108072.doc Binary files differnew file mode 100644 index 000000000000..03e8b2a532dc --- /dev/null +++ b/sw/qa/extras/ww8export/data/tdf108072.doc diff --git a/sw/qa/extras/ww8export/ww8export2.cxx b/sw/qa/extras/ww8export/ww8export2.cxx index bb70ccff0be0..3f8a2037681a 100644 --- a/sw/qa/extras/ww8export/ww8export2.cxx +++ b/sw/qa/extras/ww8export/ww8export2.cxx @@ -11,7 +11,9 @@ #include <com/sun/star/graphic/XGraphic.hpp> #include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/container/XIndexAccess.hpp> #include <com/sun/star/text/XTextFramesSupplier.hpp> +#include <com/sun/star/text/XTextTable.hpp> #include <com/sun/star/text/XTextTablesSupplier.hpp> #include <pagedesc.hxx> @@ -91,6 +93,18 @@ DECLARE_WW8EXPORT_TEST(testTdf104334, "tdf104334.doc") CPPUNIT_ASSERT_EQUAL(OUString("1"), getRun(getParagraph(2), 3)->getString()); } +DECLARE_WW8EXPORT_TEST(testTdf108072, "tdf108072.doc") +{ + // The property IsSplitAllowed was imported from an obsolete property, sprmTFCantSplit90 + // instead of sprmTFCantSplit. sprmTFCantSplit90 is set to true for merged rows, so + // for merged rows incorrect settings were imported, which prevented them from breaking over pages. + uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY); + uno::Reference<text::XTextTable> xTable(xTables->getByIndex(0), uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xTableRows(xTable->getRows(), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(true, getProperty<bool>(xTableRows->getByIndex(0), "IsSplitAllowed")); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx index e90e31dd2ebb..66e3b153c318 100644 --- a/sw/source/filter/ww8/wrtww8.cxx +++ b/sw/source/filter/ww8/wrtww8.cxx @@ -2145,9 +2145,9 @@ void WW8AttributeOutput::TableCanSplit( ww8::WW8TableNodeInfoInner::Pointer_t pT const SwFormatRowSplit& rSplittable = pLineFormat->GetRowSplit(); sal_uInt8 nCantSplit = (!rSplittable.GetValue()) ? 1 : 0; - m_rWW8Export.InsUInt16( NS_sprm::sprmTFCantSplit90 ); + m_rWW8Export.InsUInt16( NS_sprm::sprmTFCantSplit ); m_rWW8Export.pO->push_back( nCantSplit ); - m_rWW8Export.InsUInt16( NS_sprm::sprmTFCantSplit ); // also write fCantSplit90 + m_rWW8Export.InsUInt16( NS_sprm::sprmTFCantSplit90 ); // also write fCantSplit90 m_rWW8Export.pO->push_back( nCantSplit ); } diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx index ecd8f93978fc..99feec026987 100644 --- a/sw/source/filter/ww8/ww8par2.cxx +++ b/sw/source/filter/ww8/ww8par2.cxx @@ -1730,7 +1730,7 @@ wwTableSprm GetTableSprm(sal_uInt16 nId, ww::WordVersion eVer) return sprmTTextFlow; case NS_sprm::sprmTTableHeader: return sprmTTableHeader; - case NS_sprm::sprmTFCantSplit90: + case NS_sprm::sprmTFCantSplit: return sprmTFCantSplit; case NS_sprm::sprmTJc90: return sprmTJc; diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx index e62807df07ad..b8362e6983c0 100644 --- a/sw/source/filter/ww8/ww8par6.cxx +++ b/sw/source/filter/ww8/ww8par6.cxx @@ -6176,12 +6176,12 @@ const wwSprmDispatcher *GetWW8SprmDispatcher() {0x9602, nullptr}, //"sprmTDxaGapHalf" //tap.dxaGapHalf, //tap.rgdxaCenter; dxa; word; - {0x3403, nullptr}, //"sprmTFCantSplit" - //tap.fCantSplit;1 or 0;byte; + {0x3403, nullptr}, //"sprmTFCantSplit90" + //tap.fCantSplit90;1 or 0;byte; {0x3404, nullptr}, //"sprmTTableHeader" //tap.fTableHeader;1 or 0;byte; - {0x3466, nullptr}, //"sprmTFCantSplit90" - //tap.fCantSplit90;1 or 0;byte; + {0x3466, nullptr}, //"sprmTFCantSplit" + //tap.fCantSplit;1 or 0;byte; {0xD605, nullptr}, //"sprmTTableBorders80" //tap.rgbrcTable;complex; //24 bytes; diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx index b8b5eac1853e..fabae0651e6e 100644 --- a/sw/source/filter/ww8/ww8scan.cxx +++ b/sw/source/filter/ww8/ww8scan.cxx @@ -694,9 +694,9 @@ const wwSprmSearcher *wwSprmParser::GetWW8SprmSearcher() {0x9601, { 2, L_FIX} }, // "sprmTDxaLeft" tap.rgdxaCenter {0x9602, { 2, L_FIX} }, // "sprmTDxaGapHalf" tap.dxaGapHalf, // tap.rgdxaCenter - {0x3403, { 1, L_FIX} }, // "sprmTFCantSplit" tap.fCantSplit;1 or 0;byte; + {0x3403, { 1, L_FIX} }, // "sprmTFCantSplit90" tap.fCantSplit90;1 or 0;byte; {0x3404, { 1, L_FIX} }, // "sprmTTableHeader" tap.fTableHeader;1 or 0;byte; - {0x3466, { 1, L_FIX} }, // "sprmTFCantSplit90" tap.fCantSplit90;1 or 0;byte; + {0x3466, { 1, L_FIX} }, // "sprmTFCantSplit" tap.fCantSplit;1 or 0;byte; {0xD605, { 0, L_VAR} }, // "sprmTTableBorders80" tap.rgbrcTable;complex {NS_sprm::LN_TDefTable10, { 0, L_VAR} }, // "sprmTDefTable10" tap.rgdxaCenter, // tap.rgtc;complex |