[Libreoffice-commits] core.git: 3 commits - svx/source
Noel Grandin
noel.grandin at collabora.co.uk
Mon Jan 23 11:12:27 UTC 2017
svx/source/accessibility/charmapacc.cxx | 41 ++++++++++++++------------------
svx/source/dialog/charmap.cxx | 6 ++--
svx/source/dialog/frmsel.cxx | 27 +++++++++------------
svx/source/inc/charmapacc.hxx | 16 +++++-------
svx/source/inc/frmselimpl.hxx | 9 +------
5 files changed, 42 insertions(+), 57 deletions(-)
New commits:
commit 5a6fa02a6c77c7c1e578fb5c77d18d95571c39a2
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Mon Jan 23 11:30:06 2017 +0200
use rtl::Reference in FrameSelectorImpl
instead of storing both raw pointers and uno::References
Change-Id: I7a9a436b0d14d4dcaa696713973b86232c8470c0
diff --git a/svx/source/dialog/frmsel.cxx b/svx/source/dialog/frmsel.cxx
index 78c1d9c..c5bf0f0 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 4e9dfb3..7bb2d57 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();
commit 3bcfb690821e73e30731d9c3f33c00103f2d4cba
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Mon Jan 23 11:23:09 2017 +0200
use rtl::Reference in SvxShowCharSetVirtualAcc
instead of both raw pointer and uno::Reference
Change-Id: Ib2ca24f24a7c4f0645daefcea3e8bf44c205a85f
diff --git a/svx/source/accessibility/charmapacc.cxx b/svx/source/accessibility/charmapacc.cxx
index ac60371..3d801af 100644
--- a/svx/source/accessibility/charmapacc.cxx
+++ b/svx/source/accessibility/charmapacc.cxx
@@ -42,7 +42,6 @@ namespace svx
SvxShowCharSetVirtualAcc::SvxShowCharSetVirtualAcc( SvxShowCharSet* pParent ) : OAccessibleComponentHelper(new VCLExternalSolarLock())
,mpParent( pParent )
-,m_pTable(nullptr)
{
osl_atomic_increment(&m_refCount);
{
@@ -67,8 +66,8 @@ void SAL_CALL SvxShowCharSetVirtualAcc::fireEvent(
const css::uno::Any& _rNewValue
)
{
- if ( m_pTable )
- m_pTable->fireEvent(_nEventId,_rOldValue,_rNewValue);
+ if ( m_xTable.is() )
+ m_xTable->fireEvent(_nEventId,_rOldValue,_rNewValue);
}
sal_Int32 SAL_CALL SvxShowCharSetVirtualAcc::getAccessibleChildCount( ) throw (RuntimeException, std::exception)
@@ -89,9 +88,9 @@ uno::Reference< css::accessibility::XAccessible > SAL_CALL SvxShowCharSetVirtual
if( sal_uInt16(-1) != nItemId )
{
- if ( !m_pTable )
- m_pTable = new SvxShowCharSetAcc(this);
- xRet = m_pTable;
+ if ( !m_xTable.is() )
+ m_xTable = new SvxShowCharSetAcc(this);
+ xRet = m_xTable.get();
}
else if ( mpParent->getScrollBar().IsVisible() )
{
@@ -121,15 +120,14 @@ Reference< XAccessible > SAL_CALL SvxShowCharSetVirtualAcc::getAccessibleChild(
return mpParent->getScrollBar().GetAccessible();
else if ( i == 1 )
{
- if ( !m_xAcc.is() )
+ if ( !m_xTable.is() )
{
- m_pTable = new SvxShowCharSetAcc(this);
- m_xAcc = m_pTable;
+ m_xTable = new SvxShowCharSetAcc(this);
}
}
else
throw IndexOutOfBoundsException();
- return m_xAcc;
+ return m_xTable.get();
}
Reference< XAccessible > SAL_CALL SvxShowCharSetVirtualAcc::getAccessibleParent( ) throw (RuntimeException, std::exception)
@@ -216,9 +214,9 @@ Reference< XAccessibleStateSet > SAL_CALL SvxShowCharSetVirtualAcc::getAccessibl
void SAL_CALL SvxShowCharSetVirtualAcc::disposing()
{
OAccessibleContextHelper::disposing();
- if ( m_pTable )
- m_pTable->dispose();
- m_pTable = nullptr;
+ if ( m_xTable.is() )
+ m_xTable->dispose();
+ m_xTable.clear();
}
diff --git a/svx/source/inc/charmapacc.hxx b/svx/source/inc/charmapacc.hxx
index 3063acb..4e0b41d 100644
--- a/svx/source/inc/charmapacc.hxx
+++ b/svx/source/inc/charmapacc.hxx
@@ -41,9 +41,8 @@ namespace svx
class SvxShowCharSetVirtualAcc : public ::comphelper::OAccessibleComponentHelper,
public OAccessibleHelper_Base_2
{
- VclPtr<SvxShowCharSet> mpParent; // the vcl control
- SvxShowCharSetAcc* m_pTable; // the table, which holds the characters shown by the vcl control
- css::uno::Reference< css::accessibility::XAccessible > m_xAcc; // the ref to the table
+ VclPtr<SvxShowCharSet> mpParent; // the vcl control
+ rtl::Reference<SvxShowCharSetAcc> m_xTable; // the table, which holds the characters shown by the vcl control
protected:
virtual ~SvxShowCharSetVirtualAcc() override;
@@ -84,8 +83,8 @@ namespace svx
);
// simple access methods
- inline SvxShowCharSetAcc* getTable() const { return m_pTable; }
- inline SvxShowCharSet* getCharSetControl() const { return mpParent; }
+ inline SvxShowCharSetAcc* getTable() const { return m_xTable.get(); }
+ inline SvxShowCharSet* getCharSetControl() const { return mpParent; }
};
commit 3199cc1ab8c47cbdbf4ac039c523cc398277eec0
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Mon Jan 23 11:20:49 2017 +0200
use rtl::Reference in SvxShowCharSetItem
instead of raw pointer and uno::Reference
Change-Id: I92eb7f5a2e710eade580af71b157b3d1eee7b79f
diff --git a/svx/source/accessibility/charmapacc.cxx b/svx/source/accessibility/charmapacc.cxx
index 97f523c..ac60371 100644
--- a/svx/source/accessibility/charmapacc.cxx
+++ b/svx/source/accessibility/charmapacc.cxx
@@ -225,7 +225,6 @@ void SAL_CALL SvxShowCharSetVirtualAcc::disposing()
SvxShowCharSetItem::SvxShowCharSetItem( SvxShowCharSet& rParent,SvxShowCharSetAcc* _pParent,sal_uInt16 _nPos ) :
mrParent( rParent )
,mnId( _nPos )
- ,m_pItem(nullptr)
,m_pParent(_pParent)
{
}
@@ -233,24 +232,22 @@ SvxShowCharSetItem::SvxShowCharSetItem( SvxShowCharSet& rParent,SvxShowCharSetAc
SvxShowCharSetItem::~SvxShowCharSetItem()
{
- if ( m_xAcc.is() )
+ if ( m_xItem.is() )
{
- m_pItem->ParentDestroyed();
- m_pItem = nullptr;
- m_xAcc = nullptr;
+ m_xItem->ParentDestroyed();
+ m_xItem.clear();
}
}
-uno::Reference< css::accessibility::XAccessible > const & SvxShowCharSetItem::GetAccessible()
+uno::Reference< css::accessibility::XAccessible > SvxShowCharSetItem::GetAccessible()
{
- if( !m_xAcc.is() )
+ if( !m_xItem.is() )
{
- m_pItem = new SvxShowCharSetItemAcc( this );
- m_xAcc = m_pItem;
+ m_xItem = new SvxShowCharSetItemAcc( this );
}
- return m_xAcc;
+ return m_xItem.get();
}
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index 462a11f..9bfa8d9 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -632,15 +632,15 @@ void SvxShowCharSet::SelectIndex( int nNewIndex, bool bFocus )
else
m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED_NOFOCUS, Any(), makeAny(pItem->GetAccessible()) ); // this call assures that m_pItem is set
- assert(pItem->m_pItem && "No accessible created!");
+ assert(pItem->m_xItem.is() && "No accessible created!");
Any aOldAny, aNewAny;
aNewAny <<= AccessibleStateType::FOCUSED;
// Don't fire the focus event.
if ( bFocus )
- pItem->m_pItem->fireEvent( AccessibleEventId::STATE_CHANGED, aOldAny, aNewAny );
+ pItem->m_xItem->fireEvent( AccessibleEventId::STATE_CHANGED, aOldAny, aNewAny );
aNewAny <<= AccessibleStateType::SELECTED;
- pItem->m_pItem->fireEvent( AccessibleEventId::STATE_CHANGED, aOldAny, aNewAny );
+ pItem->m_xItem->fireEvent( AccessibleEventId::STATE_CHANGED, aOldAny, aNewAny );
}
}
aHighHdl.Call( this );
diff --git a/svx/source/inc/charmapacc.hxx b/svx/source/inc/charmapacc.hxx
index 73bc31e..3063acb 100644
--- a/svx/source/inc/charmapacc.hxx
+++ b/svx/source/inc/charmapacc.hxx
@@ -101,14 +101,13 @@ namespace svx
sal_uInt16 mnId;
OUString maText;
Rectangle maRect;
- SvxShowCharSetItemAcc* m_pItem;
+ rtl::Reference<SvxShowCharSetItemAcc> m_xItem;
SvxShowCharSetAcc* m_pParent;
- css::uno::Reference< css::accessibility::XAccessible > m_xAcc;
- SvxShowCharSetItem( SvxShowCharSet& rParent,SvxShowCharSetAcc* _pParent,sal_uInt16 _nPos );
+ SvxShowCharSetItem( SvxShowCharSet& rParent, SvxShowCharSetAcc* _pParent, sal_uInt16 _nPos );
~SvxShowCharSetItem();
- css::uno::Reference< css::accessibility::XAccessible > const & GetAccessible();
+ css::uno::Reference< css::accessibility::XAccessible > GetAccessible();
};
More information about the Libreoffice-commits
mailing list