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

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Thu Apr 4 15:22:18 UTC 2019


 svx/source/svdraw/svdundo.cxx |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit b8c49b1d4d4debd86c4b944b0bb2ba020ef1b030
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Apr 4 12:22:06 2019 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Apr 4 17:21:46 2019 +0200

    Resolves: tdf#120754 on undoing an obj insert use its current ordinal
    
    there may have been changes not caught by undo to the object's
    ordinal, so on use of RemoveObject (or ReplaceObject) call GetOrdNum
    on the object to get its current position within its parent.
    
    We can keep nOrdNum for the desired dest position within the parent
    for InsertObject
    
    Change-Id: I3bdabf387dd630fc1fadaaa1f3d8c05e93865e4f
    Reviewed-on: https://gerrit.libreoffice.org/70251
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
index 61b829b95249..300bcdb3a814 100644
--- a/svx/source/svdraw/svdundo.cxx
+++ b/svx/source/svdraw/svdundo.cxx
@@ -707,7 +707,7 @@ void SdrUndoRemoveObj::Redo()
     {
         ImplUnmarkObject( pObj );
         E3DModifySceneSnapRectUpdater aUpdater(pObj);
-        pObjList->RemoveObject(nOrdNum);
+        pObjList->RemoveObject(pObj->GetOrdNum());
     }
 
     // Trigger PageChangeCall
@@ -729,7 +729,7 @@ void SdrUndoInsertObj::Undo()
     {
         ImplUnmarkObject( pObj );
 
-        SdrObject* pChkObj= pObjList->RemoveObject(nOrdNum);
+        SdrObject* pChkObj= pObjList->RemoveObject(pObj->GetOrdNum());
         DBG_ASSERT(pChkObj==pObj,"UndoInsertObj: RemoveObjNum!=pObj");
     }
 }
@@ -885,7 +885,7 @@ void SdrUndoReplaceObj::Undo()
         SetNewOwner(true);
 
         ImplUnmarkObject( pNewObj );
-        pObjList->ReplaceObject(pObj,nOrdNum);
+        pObjList->ReplaceObject(pObj,pNewObj->GetOrdNum());
     }
     else
     {
@@ -903,7 +903,7 @@ void SdrUndoReplaceObj::Redo()
         SetNewOwner(false);
 
         ImplUnmarkObject( pObj );
-        pObjList->ReplaceObject(pNewObj,nOrdNum);
+        pObjList->ReplaceObject(pNewObj,pObj->GetOrdNum());
 
     }
     else


More information about the Libreoffice-commits mailing list