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

New commits:
commit 5cee586a97a11c23dd252accc42099bd5e9b4187
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Tue Jul 2 18:31:46 2019 +0200
Commit:     Michael Stahl <michael.st...@cib.de>
CommitDate: Wed Jul 3 16:27:10 2019 +0200

    sw: fix moving of at-page anchored flys to different page
    
    The problem is that some flys are anchored at a page with Y pos 35k and
    are moved to a page with Y pos 17k, while retaining
    mbFrameAreaPositionValid=true and their existing Y position.
    
    The flys will never be painted or even invalidated again because their
    position is off-page.
    
    This is somehow a regression from commit
    0b53f794ffb2550288610b9488f11fd21ab85aae - without the new mutation of
    an empty-page to a normal page due to at-page flys by resetting
    m_bEmptyPage in SwPageFrame::UpdateAttr_() on it the problem didn't
    happen.
    
    Due to the above commit, the page 3 is not an empty-page any more as it
    has 2 flys anchored on it; previously those flys were moved (only in the
    layout, not in the model!) to page 4 by some funny code in
    SwRootFrame::AssertPageFlys(), which at first glance seems like an
    improvement.
    
    Change-Id: Ia071931b26e64245f90233232dd2ac0d64365ce6
    Reviewed-on: https://gerrit.libreoffice.org/75009
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>

diff --git a/sw/source/core/layout/flylay.cxx b/sw/source/core/layout/flylay.cxx
index e7d19227fd88..49afefe7a828 100644
--- a/sw/source/core/layout/flylay.cxx
+++ b/sw/source/core/layout/flylay.cxx
@@ -855,6 +855,8 @@ void SwPageFrame::AppendFlyToPage( SwFlyFrame *pNew )
         pNew->InvalidatePage( this );
         // #i28701#
         pNew->UnlockPosition();
+        // needed to reposition at-page anchored flys moved from different page
+        pNew->InvalidateObjPos();
 
         // Notify accessible layout. That's required at this place for
         // frames only where the anchor is moved. Creation of new frames
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to