diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx index 0a793f2..3b6f676 100644 --- a/svx/source/svdraw/svdundo.cxx +++ b/svx/source/svdraw/svdundo.cxx @@ -764,11 +764,14 @@ void SdrUndoInsertObj::Undo() { ImplUnmarkObject( pObj ); -#ifdef DBG_UTIL - SdrObject* pChkObj= -#endif - pObjList->RemoveObject(nOrdNum); - DBG_ASSERT(pChkObj==pObj,"UndoInsertObj: RemoveObjNum!=pObj"); + SdrObject* pChkObj= pObjList->GetObj(nOrdNum); + if (pChkObj != pObj) // our tangled arithmetic failed fdo#34548 + { + nOrdNum = pObj->GetOrdNum(); + } + + pChkObj = pObjList->RemoveObject(nOrdNum); + assert (pChkObj == pObj); } }