From 49384c468fe4cf1b8ef0eb916252b1da8a1010dc Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sun, 9 Sep 2012 14:38:51 +0300 Subject: [PATCH] fdo#47368: Remove event listener also in Invalidate() Change-Id: Ifa3d7ff400137b4560fa0ff890cd211147c5c234 --- .../accessibility/AccessibleFrameSelector.cxx | 8 ++++++++ svx/source/inc/AccessibleFrameSelector.hxx | 1 + 2 files changed, 9 insertions(+) diff --git a/svx/source/accessibility/AccessibleFrameSelector.cxx b/svx/source/accessibility/AccessibleFrameSelector.cxx index 925be94..1def70a 100644 --- a/svx/source/accessibility/AccessibleFrameSelector.cxx +++ b/svx/source/accessibility/AccessibleFrameSelector.cxx @@ -101,6 +101,13 @@ AccFrameSelector::AccFrameSelector( FrameSelector& rFrameSel, FrameBorderType eB AccFrameSelector::~AccFrameSelector() { + RemoveFrameSelEventListener(); +} + +// ---------------------------------------------------------------------------- + +void AccFrameSelector::RemoveFrameSelEventListener() +{ if ( mpFrameSel ) { mpFrameSel->RemoveEventListener( LINK( this, AccFrameSelector, WindowEventListener ) ); @@ -709,6 +716,7 @@ void AccFrameSelector::NotifyAccessibleEvent( const sal_Int16 _nEventId, void AccFrameSelector::Invalidate() { + RemoveFrameSelEventListener(); mpFrameSel = 0; EventObject aEvent; Reference < XAccessibleContext > xThis( this ); diff --git a/svx/source/inc/AccessibleFrameSelector.hxx b/svx/source/inc/AccessibleFrameSelector.hxx index 3204b62..6a55c00 100644 --- a/svx/source/inc/AccessibleFrameSelector.hxx +++ b/svx/source/inc/AccessibleFrameSelector.hxx @@ -127,6 +127,7 @@ protected: private: void IsValid() throw (::com::sun::star::uno::RuntimeException); + void RemoveFrameSelEventListener(); FrameSelector* mpFrameSel; ::osl::Mutex maFocusMutex; -- 1.7.9.6 (Apple Git-31.1)