sw/source/core/layout/paintfrm.cxx | 3 ++- sw/source/core/view/viewimp.cxx | 3 ++- sw/source/core/view/viewsh.cxx | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-)
New commits: commit 1622b67e4b2bc8ecc5dd3ededc0a6e5adb936a6e Author: massinissaHamidi <hamidi.massini...@yahoo.fr> Date: Thu May 7 01:53:33 2015 +0200 tdf#90150 : Page numbering in the status bar which may cause confusion Changes : - The page number changes when a certain amount of the previous page is reached. This is done in SetFirstVisPage. - Since the page number (and pFirstVisPage) changes before the entire previous page disappear from VisArea, there is still a portion of it which is visible and must be added for paint. This is done with GetPrev. Change-Id: If7704011bc11efe88321bf448d61708097334d7d Reviewed-on: https://gerrit.libreoffice.org/15657 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthieb...@gmail.com> diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 93737e5..e5c5c6f 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -3257,7 +3257,8 @@ void SwRootFrm::Paint(SwRect const& rRect, SwPrintData const*const pPrintData) c const_cast<SwRootFrm*>(this)->SetCallbackActionEnabled( false ); const SwPageFrm *pPage = pSh->Imp()->GetFirstVisPage(); - + if ( pPage->GetPrev() ) + pPage = static_cast<const SwPageFrm*>(pPage->GetPrev()); const bool bBookMode = gProp.pSGlobalShell->GetViewOptions()->IsViewLayoutBookMode(); if ( bBookMode && pPage->GetPrev() && static_cast<const SwPageFrm*>(pPage->GetPrev())->IsEmptyPage() ) pPage = static_cast<const SwPageFrm*>(pPage->GetPrev()); diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index e85e2a0..e759fcf 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -187,7 +187,8 @@ void SwViewShellImp::SetFirstVisPage() SwPageFrm *pPage = static_cast<SwPageFrm*>(pSh->GetLayout()->Lower()); SwRect aPageRect = pPage->GetBoundRect(); - while ( pPage && !aPageRect.IsOver( pSh->VisArea() ) ) + float fAmount = pSh->VisArea().Height() * 0.43; + while ( pPage && aPageRect.Bottom() < pSh->VisArea().Top() + fAmount ) { pPage = static_cast<SwPageFrm*>(pPage->GetNext()); if ( pPage ) diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 7d5495c..bedaee9 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -1459,6 +1459,12 @@ void SwViewShell::PaintDesktop( const SwRect &rRect ) else { const SwFrm *pPage = Imp()->GetFirstVisPage(); + //Here we have to get the previous page since + //GetFirstVisPage return the current one but + //there is a portion of the previous page + //which is still visible + if ( pPage->GetPrev() ) + pPage = pPage->GetPrev(); const SwTwips nBottom = rRect.Bottom(); while ( pPage && !aRegion.empty() && (pPage->Frm().Top() <= nBottom) ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits