summaryrefslogtreecommitdiff
path: root/svx/source/accessibility
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-10-16 11:40:16 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-10-16 13:39:33 +0200
commit32eb4d56a4ea93e7dbfd947b62e18f05d8215421 (patch)
tree4594949fcc3cc52878f63f491b9d9bc402975a3b /svx/source/accessibility
parent0c44f702a04db0fffd6884dcb014b28cdff5b21c (diff)
use rtl::Reference for SvXMLGraphicHelper
Change-Id: I0052b29660fb6157f7e98c4e124f030ba439d304 Reviewed-on: https://gerrit.libreoffice.org/43417 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/source/accessibility')
-rw-r--r--svx/source/accessibility/svxrectctaccessiblecontext.cxx46
1 files changed, 14 insertions, 32 deletions
diff --git a/svx/source/accessibility/svxrectctaccessiblecontext.cxx b/svx/source/accessibility/svxrectctaccessiblecontext.cxx
index bc80c48efd79..7b2f9df5d44c 100644
--- a/svx/source/accessibility/svxrectctaccessiblecontext.cxx
+++ b/svx/source/accessibility/svxrectctaccessiblecontext.cxx
@@ -106,7 +106,6 @@ SvxRectCtlAccessibleContext::SvxRectCtlAccessibleContext(
SvxRectCtlAccessibleContext_Base( m_aMutex ),
mxParent( rxParent ),
mpRepr( &rRepr ),
- mpChildren( nullptr ),
mnClientId( 0 ),
mnSelectedChild( NOCHILDSELECTED )
{
@@ -116,11 +115,7 @@ SvxRectCtlAccessibleContext::SvxRectCtlAccessibleContext(
msDescription = SvxResId( RID_SVXSTR_RECTCTL_ACC_CORN_DESCR );
}
- mpChildren = new SvxRectCtlChildAccessibleContext*[ MAX_NUM_OF_CHILDREN ];
-
- SvxRectCtlChildAccessibleContext** p = mpChildren;
- for( int i = MAX_NUM_OF_CHILDREN ; i ; --i, ++p )
- *p = nullptr;
+ mvChildren.resize(MAX_NUM_OF_CHILDREN);
}
@@ -211,7 +206,7 @@ Reference< XAccessible > SAL_CALL SvxRectCtlAccessibleContext::getAccessibleChil
{
checkChildIndex( nIndex );
- Reference< XAccessible > xChild = mpChildren[ nIndex ];
+ Reference< XAccessible > xChild(mvChildren[ nIndex ].get());
if( !xChild.is() )
{
::SolarMutexGuard aSolarGuard;
@@ -220,7 +215,7 @@ Reference< XAccessible > SAL_CALL SvxRectCtlAccessibleContext::getAccessibleChil
ThrowExceptionIfNotAlive();
- xChild = mpChildren[ nIndex ];
+ xChild = mvChildren[ nIndex ].get();
if( !xChild.is() )
{
@@ -232,8 +227,8 @@ Reference< XAccessible > SAL_CALL SvxRectCtlAccessibleContext::getAccessibleChil
SvxRectCtlChildAccessibleContext* pChild = new SvxRectCtlChildAccessibleContext(
this, *mpRepr, aName, aDescr, aFocusRect, nIndex );
- xChild = mpChildren[ nIndex ] = pChild;
- pChild->acquire();
+ mvChildren[ nIndex ] = pChild;
+ xChild = pChild;
// set actual state
if( mnSelectedChild == nIndex )
@@ -522,11 +517,8 @@ void SvxRectCtlAccessibleContext::FireChildFocus( RectPoint eButton )
mnSelectedChild = nNew;
if( nNew != NOCHILDSELECTED )
{
- SvxRectCtlChildAccessibleContext* pChild = mpChildren[ nNew ];
- if( pChild )
- {
- pChild->FireFocusEvent();
- }
+ if( mvChildren[ nNew ].is() )
+ mvChildren[ nNew ]->FireFocusEvent();
}
else
{
@@ -553,7 +545,7 @@ void SvxRectCtlAccessibleContext::selectChild( long nNew )
SvxRectCtlChildAccessibleContext* pChild;
if( mnSelectedChild != NOCHILDSELECTED )
{ // deselect old selected child if one is selected
- pChild = mpChildren[ mnSelectedChild ];
+ pChild = mvChildren[ mnSelectedChild ].get();
if( pChild )
pChild->setStateChecked( false );
}
@@ -563,9 +555,8 @@ void SvxRectCtlAccessibleContext::selectChild( long nNew )
if( nNew != NOCHILDSELECTED )
{
- pChild = mpChildren[ nNew ];
- if( pChild )
- pChild->setStateChecked( true );
+ if( mvChildren[ nNew ].is() )
+ mvChildren[ nNew ]->setStateChecked( true );
}
}
else
@@ -587,20 +578,11 @@ void SAL_CALL SvxRectCtlAccessibleContext::disposing()
::osl::MutexGuard aGuard( m_aMutex );
mpRepr = nullptr; // object dies with representation
- SvxRectCtlChildAccessibleContext** p = mpChildren;
- for( int i = MAX_NUM_OF_CHILDREN ; i ; --i, ++p )
- {
- SvxRectCtlChildAccessibleContext* pChild = *p;
- if( pChild )
- {
- pChild->dispose();
- pChild->release();
- *p = nullptr;
- }
- }
+ for (auto & rxChild : mvChildren)
+ if( rxChild.is() )
+ rxChild->dispose();
- delete[] mpChildren;
- mpChildren = nullptr;
+ mvChildren.clear();
}
{