summaryrefslogtreecommitdiff
path: root/chart2/source/controller/accessibility/AccessibleBase.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-01-23 14:15:34 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-01-24 07:03:11 +0200
commitbd281dc6e1f3cd5e4785baeeb908a3eca25a7481 (patch)
tree3075cc31b9510b1c5d4ae4f393b4ae5f1859838a /chart2/source/controller/accessibility/AccessibleBase.cxx
parent33319078e965d4597db9c7ce72ab910f3e0d4e7d (diff)
use rtl::Reference in AccessibleBase
instead of storing both a raw pointer and an uno::Reference Change-Id: I583de7a25893baa65363aa6d3199564f63f4fa60
Diffstat (limited to 'chart2/source/controller/accessibility/AccessibleBase.cxx')
-rw-r--r--chart2/source/controller/accessibility/AccessibleBase.cxx32
1 files changed, 13 insertions, 19 deletions
diff --git a/chart2/source/controller/accessibility/AccessibleBase.cxx b/chart2/source/controller/accessibility/AccessibleBase.cxx
index 9d40cc5e60f6..64fef563a974 100644
--- a/chart2/source/controller/accessibility/AccessibleBase.cxx
+++ b/chart2/source/controller/accessibility/AccessibleBase.cxx
@@ -80,19 +80,18 @@ AccessibleBase::AccessibleBase(
m_bMayHaveChildren( bMayHaveChildren ),
m_bChildrenInitialized( false ),
m_nEventNotifierId(0),
- m_pStateSetHelper( new ::utl::AccessibleStateSetHelper() ),
- m_aStateSet( m_pStateSetHelper ),
+ m_xStateSetHelper( new ::utl::AccessibleStateSetHelper() ),
m_aAccInfo( rAccInfo ),
m_bAlwaysTransparent( bAlwaysTransparent ),
m_bStateSetInitialized( false )
{
// initialize some states
- OSL_ASSERT( m_pStateSetHelper );
- m_pStateSetHelper->AddState( AccessibleStateType::ENABLED );
- m_pStateSetHelper->AddState( AccessibleStateType::SHOWING );
- m_pStateSetHelper->AddState( AccessibleStateType::VISIBLE );
- m_pStateSetHelper->AddState( AccessibleStateType::SELECTABLE );
- m_pStateSetHelper->AddState( AccessibleStateType::FOCUSABLE );
+ OSL_ASSERT( m_xStateSetHelper.is() );
+ m_xStateSetHelper->AddState( AccessibleStateType::ENABLED );
+ m_xStateSetHelper->AddState( AccessibleStateType::SHOWING );
+ m_xStateSetHelper->AddState( AccessibleStateType::VISIBLE );
+ m_xStateSetHelper->AddState( AccessibleStateType::SELECTABLE );
+ m_xStateSetHelper->AddState( AccessibleStateType::FOCUSABLE );
}
AccessibleBase::~AccessibleBase()
@@ -192,16 +191,16 @@ void AccessibleBase::AddState( sal_Int16 aState )
throw (RuntimeException)
{
CheckDisposeState();
- OSL_ASSERT( m_pStateSetHelper );
- m_pStateSetHelper->AddState( aState );
+ OSL_ASSERT( m_xStateSetHelper.is() );
+ m_xStateSetHelper->AddState( aState );
}
void AccessibleBase::RemoveState( sal_Int16 aState )
throw (RuntimeException)
{
CheckDisposeState();
- OSL_ASSERT( m_pStateSetHelper );
- m_pStateSetHelper->RemoveState( aState );
+ OSL_ASSERT( m_xStateSetHelper.is() );
+ m_xStateSetHelper->RemoveState( aState );
}
bool AccessibleBase::UpdateChildren()
@@ -453,16 +452,11 @@ void SAL_CALL AccessibleBase::disposing()
// reset pointers
m_aAccInfo.m_pParent = nullptr;
- // invalidate implementation for helper, but keep UNO reference to still
- // allow a tool to query the DEFUNC state.
- // Note: The object will be deleted when the last reference is released
- m_pStateSetHelper = nullptr;
-
// attach new empty state set helper to member reference
::utl::AccessibleStateSetHelper * pHelper = new ::utl::AccessibleStateSetHelper();
pHelper->AddState( AccessibleStateType::DEFUNC );
// release old helper and attach new one
- m_aStateSet.set( pHelper );
+ m_xStateSetHelper = pHelper;
m_bIsDisposed = true;
@@ -607,7 +601,7 @@ Reference< XAccessibleStateSet > SAL_CALL AccessibleBase::getAccessibleStateSet(
m_bStateSetInitialized = true;
}
- return m_aStateSet;
+ return m_xStateSetHelper.get();
}
lang::Locale SAL_CALL AccessibleBase::getLocale()