[Libreoffice-commits] core.git: sw/qa sw/source
Justin Luth (via logerrit)
logerrit at kemper.freedesktop.org
Sat Sep 5 09:10:30 UTC 2020
sw/qa/extras/ww8export/ww8export3.cxx | 2 +-
sw/qa/extras/ww8import/ww8import.cxx | 6 +++---
sw/source/filter/ww8/ww8par2.cxx | 25 +------------------------
3 files changed, 5 insertions(+), 28 deletions(-)
New commits:
commit 0b495a630b7c449b3e8911d3970449776e502ce9
Author: Justin Luth <justin.luth at collabora.com>
AuthorDate: Sat Aug 22 21:24:58 2020 +0300
Commit: Justin Luth <justin_luth at sil.org>
CommitDate: Sat Sep 5 11:09:54 2020 +0200
tdf#135672 doc import: fix table width
On round-tripping, the table was growing on each save.
A previous commit handled position creep.
Change-Id: I0c8c3b644a5c005252afd761cc164dd001321d65
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101188
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth at sil.org>
diff --git a/sw/qa/extras/ww8export/ww8export3.cxx b/sw/qa/extras/ww8export/ww8export3.cxx
index 6f1731eddc71..757e24b40555 100644
--- a/sw/qa/extras/ww8export/ww8export3.cxx
+++ b/sw/qa/extras/ww8export/ww8export3.cxx
@@ -233,7 +233,7 @@ DECLARE_WW8EXPORT_TEST(testTdf135672_tableGrows, "tdf135672_tableGrows.doc")
CPPUNIT_ASSERT_EQUAL(sal_Int32(-101), getProperty<sal_Int32>(xTable, "LeftMargin"));
// This would grow every round-trip. First time was 11118, next 11435
- //CPPUNIT_ASSERT_EQUAL(sal_Int32(10800), getProperty<sal_Int32>(xTable, "Width"));
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(10800), getProperty<sal_Int32>(xTable, "Width"));
}
DECLARE_WW8EXPORT_TEST(testTdf79435_legacyInputFields, "tdf79435_legacyInputFields.docx")
diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx
index 30c8210a3153..a703e08de6ae 100644
--- a/sw/qa/extras/ww8import/ww8import.cxx
+++ b/sw/qa/extras/ww8import/ww8import.cxx
@@ -123,12 +123,12 @@ DECLARE_WW8IMPORT_TEST(testTdf112535, "tdf112535.doc")
CPPUNIT_ASSERT(!pFormat->GetSurround().IsContour());
}
-DECLARE_WW8IMPORT_TEST(testTdf106291, "tdf106291.doc")
+DECLARE_WW8EXPORT_TEST(testTdf106291, "tdf106291.doc")
{
// Table cell was merged vertically instead of horizontally -> had incorrect dimensions
OUString cellWidth = parseDump("/root/page[1]/body/tab/row/cell[1]/infos/bounds", "width");
OUString cellHeight = parseDump("/root/page[1]/body/tab/row/cell[1]/infos/bounds", "height");
- CPPUNIT_ASSERT_EQUAL(sal_Int32(8660), cellWidth.toInt32());
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(8650), cellWidth.toInt32());
CPPUNIT_ASSERT(cellHeight.toInt32() > 200); // height might depend on font size
}
@@ -218,7 +218,7 @@ DECLARE_WW8IMPORT_TEST(testTdf106799, "tdf106799.doc")
CPPUNIT_ASSERT(pViewShell);
pViewShell->Reformat();
- sal_Int32 const nCellWidths[3][4] = { { 9530, 0, 0, 0 },{ 2382, 2382, 2382, 2384 },{ 2382, 2382, 2382, 2384 } };
+ sal_Int32 const nCellWidths[3][4] = { { 9528, 0, 0, 0 },{ 2382, 2382, 2382, 2382 },{ 2382, 2382, 2382, 2382 } };
sal_Int32 const nCellTxtLns[3][4] = { { 1, 0, 0, 0 },{ 1, 0, 0, 0},{ 1, 1, 1, 1 } };
// Table was distorted because of missing sprmPFInnerTableCell at paragraph marks (0x0D) with sprmPFInnerTtp
for (sal_Int32 nRow : { 0, 1, 2 })
diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx
index 74719297255b..6f8f7a49fc8c 100644
--- a/sw/source/filter/ww8/ww8par2.cxx
+++ b/sw/source/filter/ww8/ww8par2.cxx
@@ -2230,7 +2230,6 @@ void WW8TabDesc::CalcDefaults()
// Non existent cells can reduce the number of columns.
// 3. pass: Replace border with defaults if needed
- short nRightMaxThickness=0;
for( pR = m_pFirstBand ; pR; pR = pR->pNextBand )
{
if( !pR->pTCs )
@@ -2270,35 +2269,13 @@ void WW8TabDesc::CalcDefaults()
}
}
}
- if (pR->nWwCols)
- {
- /*
- Similar to graphics and other elements word does not totally
- factor the width of the border into its calculations of size, we
- do so we must adjust out widths and other dimensions to fit. It
- appears that what occurs is that the last cell's right margin if
- the margin width that is not calculated into winwords table
- dimensions, so in that case increase the table to include the
- extra width of the right margin.
- */
- if ( ! pR->pTCs[pR->nWwCols-1].rgbrc[3].fShadow() )
- {
- short nThickness = pR->pTCs[pR->nWwCols-1].rgbrc[3].
- DetermineBorderProperties();
- pR->nCenter[pR->nWwCols] = pR->nCenter[pR->nWwCols] + nThickness;
- if (nThickness > nRightMaxThickness)
- nRightMaxThickness = nThickness;
- }
- }
}
- m_nSwWidth = m_nSwWidth + nRightMaxThickness;
- m_nMaxRight = m_nMaxRight + nRightMaxThickness;
for( pR = m_pFirstBand; pR; pR = pR->pNextBand )
{
pR->nSwCols = pR->nWwCols;
pR->bLEmptyCol = pR->nCenter[0] - m_nMinLeft >= MINLAY;
- pR->bREmptyCol = (m_nMaxRight - pR->nCenter[pR->nWwCols] - nRightMaxThickness) >= MINLAY;
+ pR->bREmptyCol = (m_nMaxRight - pR->nCenter[pR->nWwCols]) >= MINLAY;
short nAddCols = short(pR->bLEmptyCol) + short(pR->bREmptyCol);
sal_uInt16 i;
More information about the Libreoffice-commits
mailing list