[Libreoffice-commits] core.git: sw/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Fri Jul 16 15:28:05 UTC 2021


 sw/source/core/inc/layact.hxx                   |    2 +-
 sw/source/core/layout/layact.cxx                |   14 +++++++++-----
 sw/source/core/layout/objectformattertxtfrm.cxx |    2 +-
 sw/source/core/layout/pagechg.cxx               |    2 +-
 4 files changed, 12 insertions(+), 8 deletions(-)

New commits:
commit 3a5383892e1f0e22558cd56cb77d56a09c515b7a
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Jul 15 14:13:35 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Jul 16 17:27:28 2021 +0200

    Only change SwLayAction::m_bAgain via SetAgain
    
    no logic change intended
    
    Change-Id: Ib0174f8040faa3efde7b9c5ba9b062bac5a35da3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118983
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/core/inc/layact.hxx b/sw/source/core/inc/layact.hxx
index 5d86e66dc547..db6debaa6fe8 100644
--- a/sw/source/core/inc/layact.hxx
+++ b/sw/source/core/inc/layact.hxx
@@ -149,7 +149,7 @@ public:
     void SetReschedule  ( bool bNew )   { m_bReschedule = bNew; }
     void SetWaitAllowed ( bool bNew )   { m_bWaitAllowed = bNew; }
 
-    void SetAgain()         { m_bAgain = true; }
+    void SetAgain(bool bAgain) { m_bAgain = bAgain; }
     void SetUpdateExpFields() {m_bUpdateExpFields = true; }
 
     inline void SetCheckPageNum( sal_uInt16 nNew );
diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx
index 59878d682303..b6bb000c5e38 100644
--- a/sw/source/core/layout/layact.cxx
+++ b/sw/source/core/layout/layact.cxx
@@ -273,12 +273,13 @@ SwLayAction::~SwLayAction()
 
 void SwLayAction::Reset()
 {
+    SetAgain(false);
     m_pOptTab = nullptr;
     m_nStartTicks = std::clock();
     m_nInputType = VclInputFlags::NONE;
     m_nEndPage = m_nPreInvaPage = m_nCheckPageNum = USHRT_MAX;
     m_bPaint = m_bComplete = m_bWaitAllowed = m_bCheckPages = true;
-    m_bInterrupt = m_bAgain = m_bNextCycle = m_bCalcLayout = m_bIdle = m_bReschedule =
+    m_bInterrupt = m_bNextCycle = m_bCalcLayout = m_bIdle = m_bReschedule =
     m_bUpdateExpFields = m_bBrowseActionStop = false;
 }
 
@@ -335,12 +336,15 @@ void SwLayAction::Action(OutputDevice* pRenderContext)
         SetCheckPages( false );
 
     InternalAction(pRenderContext);
-    m_bAgain |= RemoveEmptyBrowserPages();
+    if (RemoveEmptyBrowserPages())
+        SetAgain(true);
     while ( IsAgain() )
     {
-        m_bAgain = m_bNextCycle = false;
+        SetAgain(false);
+        m_bNextCycle = false;
         InternalAction(pRenderContext);
-        m_bAgain |= RemoveEmptyBrowserPages();
+        if (RemoveEmptyBrowserPages())
+            SetAgain(true);
     }
     m_pRoot->DeleteEmptySct();
 
@@ -612,7 +616,7 @@ void SwLayAction::InternalAction(OutputDevice* pRenderContext)
             {
                 bool bOld = IsAgain();
                 m_pRoot->RemoveSuperfluous();
-                m_bAgain = bOld;
+                SetAgain(bOld);
             }
             if (lcl_isLayoutLooping()) return;
             pPage = static_cast<SwPageFrame*>(m_pRoot->Lower());
diff --git a/sw/source/core/layout/objectformattertxtfrm.cxx b/sw/source/core/layout/objectformattertxtfrm.cxx
index 630ce1883bed..26d503511064 100644
--- a/sw/source/core/layout/objectformattertxtfrm.cxx
+++ b/sw/source/core/layout/objectformattertxtfrm.cxx
@@ -315,7 +315,7 @@ bool SwObjectFormatterTextFrame::DoFormatObjs()
         {
             // notify layout action, thus is can restart the layout process on
             // a previous page.
-            GetLayAction()->SetAgain();
+            GetLayAction()->SetAgain(true);
         }
         else
         {
diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx
index fe90db3b713a..2f254f93f909 100644
--- a/sw/source/core/layout/pagechg.cxx
+++ b/sw/source/core/layout/pagechg.cxx
@@ -285,7 +285,7 @@ void SwPageFrame::DestroyImpl()
             SwViewShellImp *pImp = pSh->Imp();
             pImp->SetFirstVisPageInvalid();
             if ( pImp->IsAction() )
-                pImp->GetLayAction().SetAgain();
+                pImp->GetLayAction().SetAgain(true);
             // #i9719# - retouche area of page
             // including border and shadow area.
             const bool bRightSidebar = (SidebarPosition() == sw::sidebarwindows::SidebarPosition::RIGHT);


More information about the Libreoffice-commits mailing list