diff options
author | David Tardon <dtardon@redhat.com> | 2015-01-28 09:18:51 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2015-01-29 22:25:11 +0100 |
commit | c0117fcb3dbd6c2a8d5e7679ee8d6fb29264ff6b (patch) | |
tree | 4fc95a01464284df7003b82112a841dd6fe427a7 /svx | |
parent | 2f3a9a51bfd042e20fe995b3f7437033d85a8907 (diff) |
tdf#78854 do not crash when undoing layout change
It turns out that the ordinal number adjustment that was added for
fdo#34548 is no longer necessary.
Change-Id: I2c491a008500b6a269b6f05a2a72f5aa70edecb2
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdundo.cxx | 66 |
1 files changed, 0 insertions, 66 deletions
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 |