sw/qa/extras/layout/data/tab-over-margin.odt |binary sw/qa/extras/layout/layout.cxx | 11 +++++++++++ sw/source/core/text/portxt.cxx | 3 ++- 3 files changed, 13 insertions(+), 1 deletion(-)
New commits: commit 8fb0dbd50c32a2ac2b60730daa362a65589e194f Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Thu May 16 12:32:57 2019 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Thu May 16 16:17:03 2019 +0200 sw layout, TabOverMargin: fix nbsp character going to a new line This is similar to what was fixed in commit 9ecc9e39112fdd2b55004a0c43eb8c3ceee2e540 (Related: tdf#120287 sw layout, TabOverMargin: fix too wide tab portion, 2018-10-05), but here the problem was that we decided to start a new line when there was still enough space in the compat option case. Change-Id: I61900044a175cd14b3cdc5d36d2fa50d45c304e3 Reviewed-on: https://gerrit.libreoffice.org/72405 Reviewed-by: Miklos Vajna <vmik...@collabora.com> Tested-by: Jenkins diff --git a/sw/qa/extras/layout/data/tab-over-margin.odt b/sw/qa/extras/layout/data/tab-over-margin.odt new file mode 100644 index 000000000000..1413f2f6dfa6 Binary files /dev/null and b/sw/qa/extras/layout/data/tab-over-margin.odt differ diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index 69e9fc0da59b..9c3650e7107b 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -2999,6 +2999,17 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf118719) CPPUNIT_ASSERT_GREATER(nOther, nLast); } +CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTabOverMargin) +{ + createDoc("tab-over-margin.odt"); + xmlDocPtr pXmlDoc = parseLayoutDump(); + + // 2nd paragraph has a tab over the right margin, and with the TabOverMargin compat option, + // there is enough space to have all content in a single line. + // Without the accompanying fix in place, this test would have failed, there were 2 lines. + assertXPath(pXmlDoc, "/root/page/body/txt[2]/LineBreak", 1); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx index fdf8925fb31f..f9e364c3ea74 100644 --- a/sw/source/core/text/portxt.cxx +++ b/sw/source/core/text/portxt.cxx @@ -441,7 +441,8 @@ bool SwTextPortion::Format_( SwTextFormatInfo &rInf ) bool SwTextPortion::Format( SwTextFormatInfo &rInf ) { - if( rInf.X() > rInf.Width() || (!GetLen() && !InExpGrp()) ) + // GetLineWidth() takes care of DocumentSettingId::TAB_OVER_MARGIN. + if( rInf.GetLineWidth() < 0 || (!GetLen() && !InExpGrp()) ) { Height( 0 ); Width( 0 ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits