summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svx/source/accessibility/charmapacc.cxx8
-rw-r--r--svx/source/dialog/charmap.cxx9
-rw-r--r--svx/source/inc/charmapacc.hxx4
3 files changed, 12 insertions, 9 deletions
diff --git a/svx/source/accessibility/charmapacc.cxx b/svx/source/accessibility/charmapacc.cxx
index 61cf9ca853e1..b5a0544d75b5 100644
--- a/svx/source/accessibility/charmapacc.cxx
+++ b/svx/source/accessibility/charmapacc.cxx
@@ -56,7 +56,7 @@ SvxShowCharSetItem::~SvxShowCharSetItem()
}
}
-uno::Reference< css::accessibility::XAccessible > SvxShowCharSetItem::GetAccessible()
+rtl::Reference<SvxShowCharSetItemAcc> SvxShowCharSetItem::GetAccessible()
{
if( !m_xItem.is() )
{
@@ -84,8 +84,8 @@ SvxShowCharSetAcc::~SvxShowCharSetAcc()
void SAL_CALL SvxShowCharSetAcc::disposing()
{
OAccessibleSelectionHelper::disposing();
- for (auto& rChild : m_aChildren)
- ::comphelper::disposeComponent(rChild);
+ for (auto& rxChild : m_aChildren)
+ rxChild->dispose();
m_aChildren.clear();
m_pParent = nullptr;
@@ -146,7 +146,7 @@ uno::Reference< css::accessibility::XAccessible > SAL_CALL SvxShowCharSetAcc::ge
{
OExternalLockGuard aGuard( this );
- uno::Reference< css::accessibility::XAccessible > xRet;
+ rtl::Reference< SvxShowCharSetItemAcc > xRet;
SvxShowCharSetItem* pItem = m_pParent->ImplGetItem( static_cast< sal_uInt16 >( i ) );
if( !pItem )
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index 18a31b5f7a74..a9806505d8c8 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -767,11 +767,14 @@ void SvxShowCharSet::SelectIndex(int nNewIndex, bool bFocus)
if( m_xAccessible.is() )
{
svx::SvxShowCharSetItem* pItem = ImplGetItem(nSelectedIndex);
+ rtl::Reference<svx::SvxShowCharSetItemAcc> xItemAcc = pItem->GetAccessible();
// Don't fire the focus event.
if ( bFocus )
- m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, Any(), Any(pItem->GetAccessible()) ); // this call assures that m_pItem is set
+ m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, Any(),
+ Any(uno::Reference<XAccessible>(xItemAcc)) ); // this call assures that m_pItem is set
else
- m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED_NOFOCUS, Any(), Any(pItem->GetAccessible()) ); // this call assures that m_pItem is set
+ m_xAccessible->fireEvent( AccessibleEventId::ACTIVE_DESCENDANT_CHANGED_NOFOCUS, Any(),
+ Any(uno::Reference<XAccessible>(xItemAcc)) ); // this call assures that m_pItem is set
assert(pItem->m_xItem.is() && "No accessible created!");
Any aOldAny, aNewAny;
@@ -826,7 +829,7 @@ IMPL_LINK_NOARG(SvxShowCharSet, VscrollHdl, weld::ScrolledWindow&, void)
int nLast = LastInView();
for ( ; nLast != nSelectedIndex; ++nLast)
{
- aOldAny <<= ImplGetItem(nLast)->GetAccessible();
+ aOldAny <<= uno::Reference<XAccessible>(ImplGetItem(nLast)->GetAccessible());
m_xAccessible ->fireEvent( AccessibleEventId::CHILD, aOldAny, aNewAny );
}
}
diff --git a/svx/source/inc/charmapacc.hxx b/svx/source/inc/charmapacc.hxx
index c909756c22d1..43ab846d5b6f 100644
--- a/svx/source/inc/charmapacc.hxx
+++ b/svx/source/inc/charmapacc.hxx
@@ -52,7 +52,7 @@ namespace svx
SvxShowCharSetItem( SvxShowCharSet& rParent, SvxShowCharSetAcc* _pParent, sal_uInt16 _nPos );
~SvxShowCharSetItem();
- css::uno::Reference< css::accessibility::XAccessible > GetAccessible();
+ rtl::Reference< SvxShowCharSetItemAcc > GetAccessible();
};
@@ -66,7 +66,7 @@ namespace svx
css::accessibility::XAccessible,
css::accessibility::XAccessibleTable>
{
- ::std::vector< css::uno::Reference< css::accessibility::XAccessible > > m_aChildren;
+ ::std::vector< rtl::Reference< SvxShowCharSetItemAcc > > m_aChildren;
SvxShowCharSet* m_pParent; // the vcl control
virtual void SAL_CALL disposing() override;
public: