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

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Jul 26 06:34:54 UTC 2018


 sw/source/uibase/inc/wrtsh.hxx    |   10 +++++-----
 sw/source/uibase/wrtsh/move.cxx   |   14 ++++----------
 sw/source/uibase/wrtsh/select.cxx |    4 +---
 3 files changed, 10 insertions(+), 18 deletions(-)

New commits:
commit fb90f975cb5f744f8dbe64b9a1514d4d7ace746d
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Jul 25 13:44:52 2018 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Jul 26 08:34:27 2018 +0200

    loplugin:useuniqueptr in SwWrtShell
    
    Change-Id: I570b45e4174375be9e30f6ebc8c8171cace78990
    Reviewed-on: https://gerrit.libreoffice.org/58015
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sw/source/uibase/inc/wrtsh.hxx b/sw/source/uibase/inc/wrtsh.hxx
index 6fbbb38d3d7e..797bd3e525da 100644
--- a/sw/source/uibase/inc/wrtsh.hxx
+++ b/sw/source/uibase/inc/wrtsh.hxx
@@ -511,23 +511,23 @@ private:
     struct CursorStack
     {
         Point aDocPos;
-        CursorStack *pNext;
+        std::unique_ptr<CursorStack> pNext;
         bool bValidCurPos : 1;
         bool bIsFrameSel : 1;
         SwTwips lOffset;
 
         CursorStack( bool bValid, bool bFrameSel, const Point &rDocPos,
-                    SwTwips lOff, CursorStack *pN )
+                    SwTwips lOff, std::unique_ptr<CursorStack> pN )
             : aDocPos(rDocPos),
-            pNext(pN),
+            pNext(std::move(pN)),
             bValidCurPos( bValid ),
             bIsFrameSel( bFrameSel ),
             lOffset(lOff)
         {
-
         }
 
-    } *m_pCursorStack;
+    };
+    std::unique_ptr<CursorStack> m_pCursorStack;
 
     SwView  &m_rView;
     SwNavigationMgr m_aNavigationMgr;
diff --git a/sw/source/uibase/wrtsh/move.cxx b/sw/source/uibase/wrtsh/move.cxx
index a848e1d18dc2..afcdd9d7f58e 100644
--- a/sw/source/uibase/wrtsh/move.cxx
+++ b/sw/source/uibase/wrtsh/move.cxx
@@ -467,8 +467,8 @@ bool SwWrtShell::PushCursor(SwTwips lOffset, bool bSelect)
 
     // Position into the stack; bDiff indicates if there is a
     // difference between the old and the new cursor position.
-    m_pCursorStack = new CursorStack( bDiff, bIsFrameSel, aOldRect.Center(),
-                                lOffset, m_pCursorStack );
+    m_pCursorStack.reset( new CursorStack( bDiff, bIsFrameSel, aOldRect.Center(),
+                                lOffset, std::move(m_pCursorStack) ) );
     return !m_bDestOnStack && bDiff;
 }
 
@@ -508,9 +508,7 @@ bool SwWrtShell::PopCursor(bool bUpdate, bool bSelect)
             return false;
         }
     }
-    CursorStack *pTmp = m_pCursorStack;
-    m_pCursorStack = m_pCursorStack->pNext;
-    delete pTmp;
+    m_pCursorStack = std::move(m_pCursorStack->pNext);
     if( nullptr == m_pCursorStack )
     {
         m_ePageMove = MV_NO;
@@ -525,11 +523,7 @@ bool SwWrtShell::PopCursor(bool bUpdate, bool bSelect)
 void SwWrtShell::ResetCursorStack_()
 {
     while(m_pCursorStack)
-    {
-        CursorStack* const pTmp = m_pCursorStack->pNext;
-        delete m_pCursorStack;
-        m_pCursorStack = pTmp;
-    }
+        m_pCursorStack = std::move(m_pCursorStack->pNext);
     m_ePageMove = MV_NO;
     m_bDestOnStack = false;
 }
diff --git a/sw/source/uibase/wrtsh/select.cxx b/sw/source/uibase/wrtsh/select.cxx
index 839a95572d2f..f12005e5cbab 100644
--- a/sw/source/uibase/wrtsh/select.cxx
+++ b/sw/source/uibase/wrtsh/select.cxx
@@ -294,9 +294,7 @@ void SwWrtShell::PopMode()
         LeaveBlockMode();
     m_bIns = m_pModeStack->bIns;
 
-    ModeStack *pTmp = m_pModeStack->pNext;
-    delete m_pModeStack;
-    m_pModeStack = pTmp;
+    m_pModeStack = std::move(m_pModeStack->pNext);
 }
 
 // Two methods for setting cursors: the first maps at the


More information about the Libreoffice-commits mailing list