[Libreoffice-commits] core.git: sw/source
Justin Luth (via logerrit)
logerrit at kemper.freedesktop.org
Thu Jul 29 06:25:18 UTC 2021
sw/source/core/layout/tabfrm.cxx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
New commits:
commit fb0628b5ffe2571af3fb811c5c5109698b1bf773
Author: Justin Luth <justin_luth at sil.org>
AuthorDate: Tue Jul 27 13:20:35 2021 +0200
Commit: Justin Luth <justin_luth at sil.org>
CommitDate: Thu Jul 29 08:24:44 2021 +0200
tdf#91083 sw layout: don't emulate table keep when already set
EmulateKeep is intended for interoperability with MS formats.
But if an MS format is saved in ODF format, it can once
again have the real table keep-with-next-paragraph property.
In that case, we shouldn't try to emulate what is explicitly set.
This is based on a code-read and debugging of tdf#143468.
However, I don't have any examples or proof docs
that show this actually caused any real problems.
However, clearly there is no need to emulate in this
particular situation, so best to make that clear ASAP.
Change-Id: I1cd6af4a89c50f2d3ae60fcbf07bf604e1976c5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119575
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth at sil.org>
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 36c5ba5faf1e..bf9b6161f8bb 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -1943,7 +1943,9 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext)
bool bLastRowMoveNoMoreTries = false;
const bool bLargeTable = GetTable()->GetTabLines().size() > 64; //arbitrary value, virtually guaranteed to be larger than one page.
- const bool bEmulateTableKeep = !bLargeTable && bTableRowKeep && AreAllRowsKeepWithNext( GetFirstNonHeadlineRow(), /*bCheckParents=*/false );
+ const bool bEmulateTableKeep = !bLargeTable && bTableRowKeep
+ && !pAttrs->GetAttrSet().GetKeep().GetValue()
+ && AreAllRowsKeepWithNext(GetFirstNonHeadlineRow(), /*bCheckParents=*/false);
// The beloved keep attribute
const bool bKeep = IsKeep(pAttrs->GetAttrSet().GetKeep(), GetBreakItem(), bEmulateTableKeep);
More information about the Libreoffice-commits
mailing list