diff options
author | Justin Luth <justin.luth@collabora.com> | 2020-05-07 14:43:17 +0300 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2020-05-20 09:31:50 +0200 |
commit | c71ebc0a9f0e8a35d7c315df68cc42159f909d41 (patch) | |
tree | 6bc3189952fc1fd6e10719935ae4c98a8e155c31 | |
parent | 96baf8c69330d50af7d31ab9838bcd0ec7c8c50b (diff) |
NFC sw layout: optimize assignment of bAllowSplitOfRow
1.) Remove unnecessary test for !bDontSplit,
since by definition, bTableRowKeep requires !bDontSplit
const bool bDontSplit
const bool bTableRowKeep = !bDontSplit && ...
const bool bAllowSplitOfRow = bTableRowKeep && ...
2.) Put the trivial !bPrevInd test first and so
potentially avoid the non-trivial lookup of
AreAllRowsKeepWithNext(pFirstNonHeadlineRow)
3.) bAllowSplitOfRow by definition contains the two
requirements of !bDontSplit and !pIndPrev,
so pull out and test earlier - potentially avoiding further tests.
This also emphasizes its similarity to bEmulateTableKeep.
Change-Id: I41cb72aa03371eacfdb68d63dc3df21f85e755bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93635
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r-- | sw/source/core/layout/tabfrm.cxx | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index 300232cefe17..b0376110a433 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -2380,18 +2380,15 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) const SwRowFrame* pFirstNonHeadlineRow = GetFirstNonHeadlineRow(); // #i120016# if this row wants to keep, allow split in case that all rows want to keep with next, // the table can not move forward as it is the first one and a split is in general allowed. - const bool bAllowSplitOfRow = ( bTableRowKeep && - AreAllRowsKeepWithNext( pFirstNonHeadlineRow ) ) && - !pIndPrev && - !bDontSplit; + const bool bAllowSplitOfRow = bTableRowKeep && !pIndPrev && AreAllRowsKeepWithNext(pFirstNonHeadlineRow); // tdf91083 MSCompat: this extends bAllowSplitOfRow (and perhaps should just replace it). // If the kept-together items cannot move to a new page, a table split is in general allowed. const bool bEmulateTableKeepSplitAllowed = bEmulateTableKeep && !IsKeepFwdMoveAllowed(/*IgnoreMyOwnKeepValue=*/true); if ( pFirstNonHeadlineRow && nUnSplitted > 0 && - ( bEmulateTableKeepSplitAllowed || + ( bEmulateTableKeepSplitAllowed || bAllowSplitOfRow || ( ( !bTableRowKeep || pFirstNonHeadlineRow->GetNext() || - !pFirstNonHeadlineRow->ShouldRowKeepWithNext() || bAllowSplitOfRow + !pFirstNonHeadlineRow->ShouldRowKeepWithNext() ) && ( !bDontSplit || !pIndPrev ) ) ) ) { |