diff options
-rw-r--r-- | include/svx/svdundo.hxx | 3 | ||||
-rw-r--r-- | svx/source/svdraw/svdundo.cxx | 66 |
2 files changed, 0 insertions, 69 deletions
diff --git a/include/svx/svdundo.hxx b/include/svx/svdundo.hxx index b99d15e3901f..9d3995ff8c9b 100644 --- a/include/svx/svdundo.hxx +++ b/include/svx/svdundo.hxx @@ -242,9 +242,6 @@ protected: SdrView* pView; // To be able to re-create the selection for a SdrPageView* pPageView; // for a ObjDel, Undo sal_uInt32 nOrdNum; - // It's possible that the object is re-assigned during a Undo/Redo. - // The object is deleted in the dtor, if bOwner==TRUE - ObjListListener* m_pListener; protected: SdrUndoObjList(SdrObject& rNewObj, bool bOrdNumDirect = false); diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx index bde9c51b4085..b901845b5614 100644 --- a/svx/source/svdraw/svdundo.cxx +++ b/svx/source/svdraw/svdundo.cxx @@ -679,73 +679,11 @@ OUString SdrUndoGeoObj::GetComment() const -class SdrUndoObjList::ObjListListener : public SfxListener -{ -public: - ObjListListener(SdrUndoObjList& rThat, SdrObject& rObject, SfxBroadcaster& rBroadcaster); - virtual ~ObjListListener(); - -private: - virtual void Notify(SfxBroadcaster& rBroadcaster, const SfxHint& rHint) SAL_OVERRIDE; - -private: - SdrUndoObjList& m_rThat; - SdrObject& m_rObject; - SfxBroadcaster* m_pBroadcaster; -}; - -SdrUndoObjList::ObjListListener::ObjListListener(SdrUndoObjList& rThat, SdrObject& rObject, SfxBroadcaster& rBroadcaster) - : m_rThat(rThat) - , m_rObject(rObject) - , m_pBroadcaster(&rBroadcaster) -{ - StartListening(*m_pBroadcaster); -} - -SdrUndoObjList::ObjListListener::~ObjListListener() -{ - if (m_pBroadcaster) - EndListening(*m_pBroadcaster); -} - -void SdrUndoObjList::ObjListListener::Notify(SfxBroadcaster&, const SfxHint& rHint) -{ - const SdrHint* const pSdrHint(dynamic_cast<const SdrHint*>(&rHint)); - if (pSdrHint) - { - if (pSdrHint->GetObject() == &m_rObject) - { - switch (pSdrHint->GetKind()) - { - case HINT_OBJCHG : - if (IsListening(*m_pBroadcaster)) - { - const sal_uInt32 nNewOrdNum(m_rObject.GetOrdNum()); - if (nNewOrdNum != m_rThat.GetOrdNum()) - m_rThat.SetOrdNum(nNewOrdNum); - } - break; - case HINT_OBJREMOVED : - SAL_WARN_IF(!IsListening(*m_pBroadcaster), "svx.sdr", "Object is not in any list"); - EndListening(*m_pBroadcaster); - break; - case HINT_OBJINSERTED : - SAL_WARN_IF(IsListening(*m_pBroadcaster), "svx.sdr", "Object is already in a list"); - StartListening(*m_pBroadcaster); - break; - default : - break; - } - } - } -} - SdrUndoObjList::SdrUndoObjList(SdrObject& rNewObj, bool bOrdNumDirect) : SdrUndoObj(rNewObj) , bOwner(false) , pView(NULL) , pPageView(NULL) - , m_pListener(NULL) { pObjList=pObj->GetObjList(); if (bOrdNumDirect) @@ -756,16 +694,12 @@ SdrUndoObjList::SdrUndoObjList(SdrObject& rNewObj, bool bOrdNumDirect) { nOrdNum=pObj->GetOrdNum(); } - - m_pListener = new ObjListListener(*this, *pObj, *pObj->GetModel()); } SdrUndoObjList::~SdrUndoObjList() { SolarMutexGuard aGuard; - delete m_pListener; - if (pObj!=NULL && IsOwner()) { // Attribute have to go back to the regular Pool |