diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2016-01-04 21:28:59 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2016-01-05 10:21:07 +0000 |
commit | 7576f273257531a2228668cb215b137169b7ae54 (patch) | |
tree | f385f5f526f23cfac64f88ba6c385506b8a58606 /include | |
parent | bca7a33548c3257e19c8838786c22af9528fb0e8 (diff) |
tdf#94715 - ensure we remove ourselves from the same event source.
Seemingly event removal was not occuring; also clean up historic
duplication of UNO and C++ references using rtl::Reference.
Change-Id: I56dfb76501929886f70495804670f8c4f70e796b
Reviewed-on: https://gerrit.libreoffice.org/21088
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/toolkit/awt/vclxaccessiblecomponent.hxx | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/include/toolkit/awt/vclxaccessiblecomponent.hxx b/include/toolkit/awt/vclxaccessiblecomponent.hxx index b1fda894b29f..7025540894ba 100644 --- a/include/toolkit/awt/vclxaccessiblecomponent.hxx +++ b/include/toolkit/awt/vclxaccessiblecomponent.hxx @@ -63,15 +63,16 @@ class TOOLKIT_DLLPUBLIC VCLXAccessibleComponent ,public VCLXAccessibleComponent_BASE { private: - css::uno::Reference< css::awt::XWindow> mxWindow; - VCLXWindow* mpVCLXindow; + rtl::Reference<VCLXWindow> m_xVCLXWindow; + VclPtr<vcl::Window> m_xEventSource; VCLExternalSolarLock* m_pSolarLock; -protected: - DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void ); - DECL_LINK_TYPED( WindowChildEventListener, VclWindowEvent&, void ); + DECL_LINK_TYPED( WindowEventListener, VclWindowEvent&, void ); + DECL_LINK_TYPED( WindowChildEventListener, VclWindowEvent&, void ); + void DisconnectEvents(); +protected: virtual void ProcessWindowEvent( const VclWindowEvent& rVclWindowEvent ); virtual void ProcessWindowChildEvent( const VclWindowEvent& rVclWindowEvent ); virtual void FillAccessibleRelationSet( utl::AccessibleRelationSetHelper& rRelationSet ); @@ -80,10 +81,10 @@ protected: virtual css::uno::Reference< css::accessibility::XAccessible > GetChildAccessible( const VclWindowEvent& rVclWindowEvent ); public: - VCLXAccessibleComponent( VCLXWindow* pVCLXindow ); + VCLXAccessibleComponent( VCLXWindow* pVCLXWindow ); virtual ~VCLXAccessibleComponent(); - VCLXWindow* GetVCLXWindow() const { return mpVCLXindow; } + VCLXWindow* GetVCLXWindow() const; VclPtr<vcl::Window> GetWindow() const; template< class derived_type > VclPtr< derived_type > GetAs() const { return VclPtr< derived_type >( static_cast< derived_type * >( GetWindow().get() ) ); } |