From 06c1c15b706870c2a134bc14845e25a8b30cdac1 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sun, 9 Sep 2012 14:38:51 +0300 Subject: fdo#47368: Remove event listener also in Invalidate() Change-Id: Ifa3d7ff400137b4560fa0ff890cd211147c5c234 Signed-off-by: Michael Meeks --- svx/source/accessibility/AccessibleFrameSelector.cxx | 8 ++++++++ svx/source/inc/AccessibleFrameSelector.hxx | 1 + 2 files changed, 9 insertions(+) (limited to 'svx') diff --git a/svx/source/accessibility/AccessibleFrameSelector.cxx b/svx/source/accessibility/AccessibleFrameSelector.cxx index 925be9444d80..1def70a851db 100644 --- a/svx/source/accessibility/AccessibleFrameSelector.cxx +++ b/svx/source/accessibility/AccessibleFrameSelector.cxx @@ -100,6 +100,13 @@ AccFrameSelector::AccFrameSelector( FrameSelector& rFrameSel, FrameBorderType eB // ---------------------------------------------------------------------------- AccFrameSelector::~AccFrameSelector() +{ + RemoveFrameSelEventListener(); +} + +// ---------------------------------------------------------------------------- + +void AccFrameSelector::RemoveFrameSelEventListener() { if ( mpFrameSel ) { @@ -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 3204b62ce84c..6a55c006b45e 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; -- cgit