summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2016-01-04 21:28:59 +0000
committerMichael Meeks <michael.meeks@collabora.com>2016-01-05 10:21:07 +0000
commit7576f273257531a2228668cb215b137169b7ae54 (patch)
treef385f5f526f23cfac64f88ba6c385506b8a58606 /include
parentbca7a33548c3257e19c8838786c22af9528fb0e8 (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.hxx15
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() ) ); }