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

New commits:
commit b8c49b1d4d4debd86c4b944b0bb2ba020ef1b030
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Apr 4 12:22:06 2019 +0100
Commit:     Caolán McNamara <caol...@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 <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@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
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to