[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - sw/source

Ilhan Yesil (via logerrit) logerrit at kemper.freedesktop.org
Mon Aug 5 11:46:47 UTC 2019


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

New commits:
commit b4c97df4b868607d87ac88ca85c4700c5248e4f4
Author:     Ilhan Yesil <ilhanyesil at gmx.de>
AuthorDate: Fri Jul 5 11:50:49 2019 +0200
Commit:     Xisco FaulĂ­ <xiscofauli at libreoffice.org>
CommitDate: Mon Aug 5 13:46:10 2019 +0200

    tdf#126222 Headers/footers are at correct position after scrolling
    
    After scrolling, the positions of headers and footers of the
    previous pages have to be updated, else these headers and
    footers could get visible at a wrong position.
    
    Change-Id: I25508cc0fc0bb7a6e59aeb996e2e7e0a0e23511f
    Reviewed-on: https://gerrit.libreoffice.org/75118
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 80ae85d89866e501496189b2749071869ab6e98c)
    Reviewed-on: https://gerrit.libreoffice.org/76970
    Reviewed-by: Xisco FaulĂ­ <xiscofauli at libreoffice.org>

diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
index ef8cd93212bb..bb547a588f3d 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -2982,6 +2982,18 @@ void SwRootFrame::PaintSwFrame(vcl::RenderContext& rRenderContext, SwRect const&
 
     const SwPageFrame *pPage = pSh->Imp()->GetFirstVisPage(&rRenderContext);
 
+    // #126222. The positions of headers and footers of the previous
+    // pages have to be updated, else these headers and footers could
+    // get visible at a wrong position.
+    const SwPageFrame *pPageDeco = static_cast<const SwPageFrame*>(pPage->GetPrev());
+    while (pPageDeco)
+    {
+        pPageDeco->PaintDecorators();
+        OSL_ENSURE(!pPageDeco->GetPrev() || pPageDeco->GetPrev()->IsPageFrame(),
+            "Neighbour of page is not a page.");
+        pPageDeco = static_cast<const SwPageFrame*>(pPageDeco->GetPrev());
+    }
+
     const bool bBookMode = gProp.pSGlobalShell->GetViewOptions()->IsViewLayoutBookMode();
     if ( bBookMode && pPage->GetPrev() && static_cast<const SwPageFrame*>(pPage->GetPrev())->IsEmptyPage() )
         pPage = static_cast<const SwPageFrame*>(pPage->GetPrev());


More information about the Libreoffice-commits mailing list