summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-01-23 11:30:06 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-01-23 13:05:30 +0200
commit5a6fa02a6c77c7c1e578fb5c77d18d95571c39a2 (patch)
treeb71f6b9b6ea942346593e74db287008c3d9fd28d /svx
parent3bcfb690821e73e30731d9c3f33c00103f2d4cba (diff)
use rtl::Reference in FrameSelectorImpl
instead of storing both raw pointers and uno::References Change-Id: I7a9a436b0d14d4dcaa696713973b86232c8470c0
Diffstat (limited to 'svx')
-rw-r--r--svx/source/dialog/frmsel.cxx27
-rw-r--r--svx/source/inc/frmselimpl.hxx9
2 files changed, 14 insertions, 22 deletions
diff --git a/svx/source/dialog/frmsel.cxx b/svx/source/dialog/frmsel.cxx
index 78c1d9c9909f..c5bf0f0a519a 100644
--- a/svx/source/dialog/frmsel.cxx
+++ b/svx/source/dialog/frmsel.cxx
@@ -229,9 +229,7 @@ FrameSelectorImpl::FrameSelectorImpl( FrameSelector& rFrameSel ) :
mbAutoSelect( true ),
mbClicked( false ),
mbHCMode( false ),
- mpAccess( nullptr ),
- maChildVec( 8, static_cast< a11y::AccFrameSelector* >( nullptr ) ),
- mxChildVec( 8 )
+ maChildVec( 8 )
{
maAllBorders.resize( FRAMEBORDERTYPE_COUNT, nullptr );
maAllBorders[ GetIndexFromFrameBorderType( FrameBorderType::Left ) ] = &maLeft;
@@ -265,10 +263,10 @@ FrameSelectorImpl::FrameSelectorImpl( FrameSelector& rFrameSel ) :
FrameSelectorImpl::~FrameSelectorImpl()
{
- if( mpAccess )
- mpAccess->Invalidate();
+ if( mxAccess.is() )
+ mxAccess->Invalidate();
for( auto aIt = maChildVec.begin(), aEnd = maChildVec.end(); aIt != aEnd; ++aIt )
- if( *aIt )
+ if( aIt->is() )
(*aIt)->Invalidate();
}
@@ -731,7 +729,7 @@ void FrameSelectorImpl::SetBorderState( FrameBorder& rBorder, FrameBorderState e
Reference< XAccessible > xRet;
size_t nVecIdx = static_cast< size_t >( rBorder.GetType() );
if( GetBorder(rBorder.GetType()).IsEnabled() && (1 <= nVecIdx) && (nVecIdx <= maChildVec.size()) )
- xRet = mxChildVec[ --nVecIdx ];
+ xRet = maChildVec[ --nVecIdx ].get();
a11y::AccFrameSelector* pFrameSelector = static_cast<a11y::AccFrameSelector*>(xRet.get());
if( eState == FrameBorderState::Show )
@@ -1007,9 +1005,9 @@ void FrameSelector::SetColorToSelection( const Color& rColor )
Reference< XAccessible > FrameSelector::CreateAccessible()
{
if( !mxImpl->mxAccess.is() )
- mxImpl->mxAccess = mxImpl->mpAccess =
+ mxImpl->mxAccess = mxImpl->mxAccess =
new a11y::AccFrameSelector( *this, FrameBorderType::NONE );
- return mxImpl->mxAccess;
+ return mxImpl->mxAccess.get();
}
Reference< XAccessible > FrameSelector::GetChildAccessible( FrameBorderType eBorder )
@@ -1019,10 +1017,9 @@ Reference< XAccessible > FrameSelector::GetChildAccessible( FrameBorderType eBor
if( IsBorderEnabled( eBorder ) && (1 <= nVecIdx) && (nVecIdx <= mxImpl->maChildVec.size()) )
{
--nVecIdx;
- if( !mxImpl->maChildVec[ nVecIdx ] )
- mxImpl->mxChildVec[ nVecIdx ] = mxImpl->maChildVec[ nVecIdx ] =
- new a11y::AccFrameSelector( *this, eBorder );
- xRet = mxImpl->mxChildVec[ nVecIdx ];
+ if( !mxImpl->maChildVec[ nVecIdx ].is() )
+ mxImpl->maChildVec[ nVecIdx ] = new a11y::AccFrameSelector( *this, eBorder );
+ xRet = mxImpl->maChildVec[ nVecIdx ].get();
}
return xRet;
}
@@ -1211,7 +1208,7 @@ void FrameSelector::GetFocus()
mxImpl->DoInvalidate( false );
if( mxImpl->mxAccess.is() )
- mxImpl->mpAccess->NotifyFocusListeners( true );
+ mxImpl->mxAccess->NotifyFocusListeners( true );
if (IsAnyBorderSelected())
{
FrameBorderType borderType = FrameBorderType::NONE;
@@ -1242,7 +1239,7 @@ void FrameSelector::LoseFocus()
{
mxImpl->DoInvalidate( false );
if( mxImpl->mxAccess.is() )
- mxImpl->mpAccess->NotifyFocusListeners( false );
+ mxImpl->mxAccess->NotifyFocusListeners( false );
Control::LoseFocus();
}
diff --git a/svx/source/inc/frmselimpl.hxx b/svx/source/inc/frmselimpl.hxx
index 4e9dfb35a0ec..7bb2d5728cd0 100644
--- a/svx/source/inc/frmselimpl.hxx
+++ b/svx/source/inc/frmselimpl.hxx
@@ -138,14 +138,9 @@ struct FrameSelectorImpl
bool mbClicked; /// true = The control has been clicked at least one time.
bool mbHCMode; /// true = High contrast mode.
- a11y::AccFrameSelector* mpAccess; /// Pointer to accessibility object of the control.
- css::uno::Reference<css::accessibility::XAccessible>
- mxAccess; /// Reference to accessibility object of the control.
- std::vector<a11y::AccFrameSelector*>
+ rtl::Reference<a11y::AccFrameSelector> mxAccess; /// Pointer to accessibility object of the control.
+ std::vector<rtl::Reference<a11y::AccFrameSelector>>
maChildVec; /// Pointers to accessibility objects for frame borders.
- std::vector<css::uno::Reference<css::accessibility::XAccessible> >
- mxChildVec; /// References to accessibility objects for frame borders.
-
explicit FrameSelectorImpl( FrameSelector& rFrameSel );
~FrameSelectorImpl();