sw/source/core/layout/frmtool.cxx |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit 96f7681117e12974964f60e272241bef236c0147
Author:     Michael Stahl <michael.st...@allotropia.de>
AuthorDate: Wed Aug 23 15:49:44 2023 +0200
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Wed Dec 6 15:41:21 2023 +0100

    tdf#137523 sw: layout: fix text below tables in footer differently
    
    This fix is better than commit 027f8328eef1e149b6c99b478ed5df870291dc2d
    because it turns out the last text frame had a height of 219 in 6.1.
    
    One of the following commits would break this, so a different fix is
    needed.
    
    In SwFrameNotify::ImplDestroy(), if the frame changes its position the
    next frame's position is invalidated; if the next frame is undersized
    then also invalidate its size so that it will be formatted again, with
    more space.
    
    (cherry picked from commit 492ddef596c99a9c24d2778276025aafc612a7cb)
    
    Conflicts:
            sw/qa/extras/layout/layout3.cxx
    
    Change-Id: I8e6a3fe3127ebfa2246c440d2a3455b217476475
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160386
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>

diff --git a/sw/source/core/layout/frmtool.cxx 
b/sw/source/core/layout/frmtool.cxx
index 4fc6286d32e4..7059b8472be8 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -202,7 +202,14 @@ void SwFrameNotify::ImplDestroy()
         }
 
         if ( pNxt )
+        {
             pNxt->InvalidatePos();
+            if (pNxt->IsTextFrame() && 
static_cast<SwTextFrame*>(pNxt)->IsUndersized())
+            {   // tdf#137523 it could have more space at new pos
+                pNxt->InvalidateSize();
+                pNxt->Prepare(PrepareHint::AdjustSizeWithoutFormatting);
+            }
+        }
         else
         {
             // #104100# - correct condition for setting retouche

Reply via email to