accessibility/inc/extended/accessibletabbarpagelist.hxx | 9 accessibility/inc/standard/accessiblemenubasecomponent.hxx | 5 accessibility/source/extended/accessibletabbarpagelist.cxx | 65 ++-- accessibility/source/standard/accessiblemenubasecomponent.cxx | 140 +++------- 4 files changed, 85 insertions(+), 134 deletions(-)
New commits: commit 89b6d1cd2ed3ea4633a8f4e90daf99001decef3e Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Aug 30 15:28:46 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Thu Aug 31 10:34:20 2023 +0200 use concrete type for AccessibleTabBarPageList::m_aAccessibleChildren avoid some unnecessary casting Change-Id: Ib8bddff9fe91afd192584fa1ad2728d0701f425a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156316 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/accessibility/inc/extended/accessibletabbarpagelist.hxx b/accessibility/inc/extended/accessibletabbarpagelist.hxx index 858a475d7669..d3f3d56f317d 100644 --- a/accessibility/inc/extended/accessibletabbarpagelist.hxx +++ b/accessibility/inc/extended/accessibletabbarpagelist.hxx @@ -27,11 +27,9 @@ #include <vector> - namespace accessibility { - - + class AccessibleTabBarPage; class AccessibleTabBarPageList final : public cppu::ImplInheritanceHelper< @@ -41,7 +39,7 @@ namespace accessibility css::lang::XServiceInfo> { private: - typedef std::vector< css::uno::Reference< css::accessibility::XAccessible > > AccessibleChildren; + typedef std::vector< rtl::Reference< AccessibleTabBarPage > > AccessibleChildren; AccessibleChildren m_aAccessibleChildren; sal_Int32 m_nIndexInParent; @@ -105,6 +103,9 @@ namespace accessibility virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount( ) override; virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int64 nSelectedChildIndex ) override; virtual void SAL_CALL deselectAccessibleChild( sal_Int64 nChildIndex ) override; + + private: + rtl::Reference< AccessibleTabBarPage > getAccessibleChildImpl( sal_Int64 i ); }; diff --git a/accessibility/source/extended/accessibletabbarpagelist.cxx b/accessibility/source/extended/accessibletabbarpagelist.cxx index 3eb8ab324c37..5faaed6846e2 100644 --- a/accessibility/source/extended/accessibletabbarpagelist.cxx +++ b/accessibility/source/extended/accessibletabbarpagelist.cxx @@ -52,20 +52,16 @@ namespace accessibility ,m_nIndexInParent( nIndexInParent ) { if ( m_pTabBar ) - m_aAccessibleChildren.assign( m_pTabBar->GetPageCount(), Reference< XAccessible >() ); + m_aAccessibleChildren.assign( m_pTabBar->GetPageCount(), rtl::Reference< AccessibleTabBarPage >() ); } void AccessibleTabBarPageList::UpdateShowing( bool bShowing ) { - for (const Reference<XAccessible>& xChild : m_aAccessibleChildren) + for (const rtl::Reference<AccessibleTabBarPage>& xChild : m_aAccessibleChildren) { if ( xChild.is() ) - { - AccessibleTabBarPage* pAccessibleTabBarPage = static_cast< AccessibleTabBarPage* >( xChild.get() ); - if ( pAccessibleTabBarPage ) - pAccessibleTabBarPage->SetShowing( bShowing ); - } + xChild->SetShowing( bShowing ); } } @@ -76,13 +72,9 @@ namespace accessibility if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() ) { - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< AccessibleTabBarPage > xChild( m_aAccessibleChildren[i] ); if ( xChild.is() ) - { - AccessibleTabBarPage* pAccessibleTabBarPage = static_cast< AccessibleTabBarPage* >( xChild.get() ); - if ( pAccessibleTabBarPage ) - pAccessibleTabBarPage->SetSelected( bSelected ); - } + xChild->SetSelected( bSelected ); } } @@ -92,11 +84,10 @@ namespace accessibility if ( i < 0 || o3tl::make_unsigned(i) >= m_aAccessibleChildren.size() ) return; - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); - if ( xChild.is() ) + if ( m_pTabBar ) { - AccessibleTabBarPage* pAccessibleTabBarPage = static_cast< AccessibleTabBarPage* >( xChild.get() ); - if ( pAccessibleTabBarPage && m_pTabBar ) + rtl::Reference< AccessibleTabBarPage > pAccessibleTabBarPage( m_aAccessibleChildren[i] ); + if ( pAccessibleTabBarPage.is() ) { OUString sPageText = m_pTabBar->GetPageText( m_pTabBar->GetPageId( static_cast<sal_uInt16>(i) ) ); pAccessibleTabBarPage->SetPageText( sPageText ); @@ -111,7 +102,7 @@ namespace accessibility return; // insert entry in child list - m_aAccessibleChildren.insert( m_aAccessibleChildren.begin() + i, Reference< XAccessible >() ); + m_aAccessibleChildren.insert( m_aAccessibleChildren.begin() + i, rtl::Reference< AccessibleTabBarPage >() ); // send accessible child event Reference< XAccessible > xChild( getAccessibleChild( i ) ); @@ -130,7 +121,7 @@ namespace accessibility return; // get the accessible of the removed page - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< AccessibleTabBarPage > xChild( m_aAccessibleChildren[i] ); // remove entry in child list m_aAccessibleChildren.erase( m_aAccessibleChildren.begin() + i ); @@ -139,12 +130,10 @@ namespace accessibility if ( xChild.is() ) { Any aOldValue, aNewValue; - aOldValue <<= xChild; + aOldValue <<= uno::Reference<XAccessible>(xChild); NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue ); - Reference< XComponent > xComponent( xChild, UNO_QUERY ); - if ( xComponent.is() ) - xComponent->dispose(); + xChild->dispose(); } } @@ -159,7 +148,7 @@ namespace accessibility --j; // get the accessible of the moved page - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< AccessibleTabBarPage > xChild( m_aAccessibleChildren[i] ); // remove entry in child list at old position m_aAccessibleChildren.erase( m_aAccessibleChildren.begin() + i ); @@ -248,6 +237,8 @@ namespace accessibility { sal_uInt16 nPageId = static_cast<sal_uInt16>(reinterpret_cast<sal_IntPtr>(rVclWindowEvent.GetData())); + OExternalLockGuard aGuard( this ); + if ( nPageId == TabBar::PAGE_NOT_FOUND ) { for ( sal_Int32 i = m_aAccessibleChildren.size() - 1; i >= 0; --i ) @@ -255,17 +246,13 @@ namespace accessibility } else { - for ( sal_Int64 i = 0, nCount = getAccessibleChildCount(); i < nCount; ++i ) + for ( sal_Int64 i = 0, nCount = m_aAccessibleChildren.size(); i < nCount; ++i ) { - Reference< XAccessible > xChild( getAccessibleChild( i ) ); - if ( xChild.is() ) + sal_uInt16 nChildPageId = m_pTabBar->GetPageId( static_cast<sal_uInt16>(i) ); + if (nPageId == nChildPageId) { - AccessibleTabBarPage* pAccessibleTabBarPage = static_cast< AccessibleTabBarPage* >( xChild.get() ); - if ( pAccessibleTabBarPage && pAccessibleTabBarPage->GetPageId() == nPageId ) - { - RemoveChild( i ); - break; - } + RemoveChild( i ); + break; } } } @@ -334,9 +321,8 @@ namespace accessibility AccessibleTabBarBase::disposing(); // dispose all children - for (const Reference<XAccessible>& i : m_aAccessibleChildren) + for (const rtl::Reference<AccessibleTabBarPage>& xComponent : m_aAccessibleChildren) { - Reference< XComponent > xComponent( i, UNO_QUERY ); if ( xComponent.is() ) xComponent->dispose(); } @@ -391,10 +377,15 @@ namespace accessibility { OExternalLockGuard aGuard( this ); + return getAccessibleChildImpl(i); + } + + rtl::Reference< AccessibleTabBarPage > AccessibleTabBarPageList::getAccessibleChildImpl( sal_Int64 i ) + { if ( i < 0 || i >= getAccessibleChildCount() ) throw IndexOutOfBoundsException(); - Reference< XAccessible > xChild = m_aAccessibleChildren[i]; + rtl::Reference< AccessibleTabBarPage > xChild = m_aAccessibleChildren[i]; if ( !xChild.is() ) { if ( m_pTabBar ) @@ -495,7 +486,7 @@ namespace accessibility Reference< XAccessible > xChild; for ( size_t i = 0; i < m_aAccessibleChildren.size(); ++i ) { - Reference< XAccessible > xAcc = getAccessibleChild( i ); + rtl::Reference< AccessibleTabBarPage > xAcc = getAccessibleChildImpl( i ); if ( xAcc.is() ) { Reference< XAccessibleComponent > xComp( xAcc->getAccessibleContext(), UNO_QUERY ); commit 28c89e58d90ea73513e273db274eb46ff9081c35 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Aug 30 15:16:01 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Thu Aug 31 10:34:10 2023 +0200 use concrete type for OAccessibleMenuBaseComponent::m_aAccessibleChildren avoid some unnecessary casting Change-Id: Iaa9ce18d7a0772d894ec8f93e16f4f59ffaae77d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156315 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/accessibility/inc/standard/accessiblemenubasecomponent.hxx b/accessibility/inc/standard/accessiblemenubasecomponent.hxx index 6dd8ab8eb760..337ee0a80d00 100644 --- a/accessibility/inc/standard/accessiblemenubasecomponent.hxx +++ b/accessibility/inc/standard/accessiblemenubasecomponent.hxx @@ -33,6 +33,7 @@ class Menu; class VclSimpleEvent; class VclMenuEvent; +class OAccessibleMenuItemComponent; class OAccessibleMenuBaseComponent : public cppu::ImplInheritanceHelper< comphelper::OAccessibleExtendedComponentHelper, @@ -44,9 +45,9 @@ class OAccessibleMenuBaseComponent : public cppu::ImplInheritanceHelper< friend class VCLXAccessibleMenu; protected: - typedef std::vector< css::uno::Reference< css::accessibility::XAccessible > > AccessibleChildren; + typedef std::vector< rtl::Reference< OAccessibleMenuItemComponent > > AccessibleChildren; - AccessibleChildren m_aAccessibleChildren; + AccessibleChildren m_aAccessibleChildren1; VclPtr<Menu> m_pMenu; bool m_bEnabled; diff --git a/accessibility/source/standard/accessiblemenubasecomponent.cxx b/accessibility/source/standard/accessiblemenubasecomponent.cxx index b66b019ca1b1..e5e390d59512 100644 --- a/accessibility/source/standard/accessiblemenubasecomponent.cxx +++ b/accessibility/source/standard/accessiblemenubasecomponent.cxx @@ -54,7 +54,7 @@ OAccessibleMenuBaseComponent::OAccessibleMenuBaseComponent( Menu* pMenu ) { if ( m_pMenu ) { - m_aAccessibleChildren.assign( m_pMenu->GetItemCount(), Reference< XAccessible >() ); + m_aAccessibleChildren1.assign( m_pMenu->GetItemCount(), rtl::Reference< OAccessibleMenuItemComponent >() ); m_pMenu->AddEventListener( LINK( this, OAccessibleMenuBaseComponent, MenuEventListener ) ); } } @@ -196,30 +196,22 @@ void OAccessibleMenuBaseComponent::SetChecked( bool bChecked ) void OAccessibleMenuBaseComponent::UpdateEnabled( sal_Int32 i, bool bEnabled ) { - if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() ) + if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren1.size() ) { - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< OAccessibleMenuBaseComponent > xChild( m_aAccessibleChildren1[i] ); if ( xChild.is() ) - { - OAccessibleMenuBaseComponent* pComp = static_cast< OAccessibleMenuBaseComponent* >( xChild.get() ); - if ( pComp ) - pComp->SetEnabled( bEnabled ); - } + xChild->SetEnabled( bEnabled ); } } void OAccessibleMenuBaseComponent::UpdateFocused( sal_Int32 i, bool bFocused ) { - if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() ) + if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren1.size() ) { - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< OAccessibleMenuBaseComponent > xChild( m_aAccessibleChildren1[i] ); if ( xChild.is() ) - { - OAccessibleMenuBaseComponent* pComp = static_cast< OAccessibleMenuBaseComponent* >( xChild.get() ); - if ( pComp ) - pComp->SetFocused( bFocused ); - } + xChild->SetFocused( bFocused ); } } @@ -227,14 +219,10 @@ void OAccessibleMenuBaseComponent::UpdateFocused( sal_Int32 i, bool bFocused ) void OAccessibleMenuBaseComponent::UpdateVisible() { SetVisible( IsVisible() ); - for (const Reference<XAccessible>& xChild : m_aAccessibleChildren) + for (const rtl::Reference<OAccessibleMenuItemComponent>& xChild : m_aAccessibleChildren1) { if ( xChild.is() ) - { - OAccessibleMenuBaseComponent* pComp = static_cast< OAccessibleMenuBaseComponent* >( xChild.get() ); - if ( pComp ) - pComp->SetVisible( pComp->IsVisible() ); - } + xChild->SetVisible( xChild->IsVisible() ); } } @@ -243,39 +231,31 @@ void OAccessibleMenuBaseComponent::UpdateSelected( sal_Int32 i, bool bSelected ) { NotifyAccessibleEvent( AccessibleEventId::SELECTION_CHANGED, Any(), Any() ); - if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() ) + if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren1.size() ) { - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< OAccessibleMenuBaseComponent > xChild( m_aAccessibleChildren1[i] ); if ( xChild.is() ) - { - OAccessibleMenuBaseComponent* pComp = static_cast< OAccessibleMenuBaseComponent* >( xChild.get() ); - if ( pComp ) - pComp->SetSelected( bSelected ); - } + xChild->SetSelected( bSelected ); } } void OAccessibleMenuBaseComponent::UpdateChecked( sal_Int32 i, bool bChecked ) { - if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() ) + if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren1.size() ) { - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< OAccessibleMenuBaseComponent > xChild( m_aAccessibleChildren1[i] ); if ( xChild.is() ) - { - OAccessibleMenuBaseComponent* pComp = static_cast< OAccessibleMenuBaseComponent* >( xChild.get() ); - if ( pComp ) - pComp->SetChecked( bChecked ); - } + xChild->SetChecked( bChecked ); } } void OAccessibleMenuBaseComponent::UpdateAccessibleName( sal_Int32 i ) { - if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() ) + if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren1.size() ) { - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< OAccessibleMenuBaseComponent > xChild( m_aAccessibleChildren1[i] ); if ( xChild.is() ) { OAccessibleMenuItemComponent* pComp = static_cast< OAccessibleMenuItemComponent* >( xChild.get() ); @@ -287,48 +267,42 @@ void OAccessibleMenuBaseComponent::UpdateAccessibleName( sal_Int32 i ) void OAccessibleMenuBaseComponent::UpdateItemRole(sal_Int32 i) { - if (i < 0 || o3tl::make_unsigned(i) >= m_aAccessibleChildren.size()) + if (i < 0 || o3tl::make_unsigned(i) >= m_aAccessibleChildren1.size()) return; - Reference<XAccessible> xChild(m_aAccessibleChildren[i]); + rtl::Reference<OAccessibleMenuItemComponent> xChild(m_aAccessibleChildren1[i]); if (!xChild.is()) return; - OAccessibleMenuItemComponent* pComp = static_cast<OAccessibleMenuItemComponent*>(xChild.get()); - assert(pComp); - pComp->NotifyAccessibleEvent(AccessibleEventId::ROLE_CHANGED, Any(), Any()); + xChild->NotifyAccessibleEvent(AccessibleEventId::ROLE_CHANGED, Any(), Any()); } void OAccessibleMenuBaseComponent::UpdateItemText( sal_Int32 i ) { - if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren.size() ) + if ( i >= 0 && o3tl::make_unsigned(i) < m_aAccessibleChildren1.size() ) { - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< OAccessibleMenuItemComponent > xChild( m_aAccessibleChildren1[i] ); if ( xChild.is() ) - { - OAccessibleMenuItemComponent* pComp = static_cast< OAccessibleMenuItemComponent* >( xChild.get() ); - if ( pComp ) - pComp->SetItemText( pComp->GetItemText() ); - } + xChild->SetItemText( xChild->GetItemText() ); } } sal_Int64 OAccessibleMenuBaseComponent::GetChildCount() const { - return m_aAccessibleChildren.size(); + return m_aAccessibleChildren1.size(); } Reference< XAccessible > OAccessibleMenuBaseComponent::GetChild( sal_Int64 i ) { - Reference< XAccessible > xChild = m_aAccessibleChildren[i]; + rtl::Reference< OAccessibleMenuItemComponent > xChild = m_aAccessibleChildren1[i]; if ( !xChild.is() ) { if ( m_pMenu ) { // create a new child - rtl::Reference<OAccessibleMenuBaseComponent> pChild; + rtl::Reference<OAccessibleMenuItemComponent> pChild; if ( m_pMenu->GetItemType( static_cast<sal_uInt16>(i) ) == MenuItemType::SEPARATOR ) { @@ -354,7 +328,7 @@ Reference< XAccessible > OAccessibleMenuBaseComponent::GetChild( sal_Int64 i ) xChild = pChild; // insert into menu item list - m_aAccessibleChildren[i] = xChild; + m_aAccessibleChildren1[i] = xChild; } } @@ -393,22 +367,18 @@ void OAccessibleMenuBaseComponent::InsertChild( sal_Int32 i ) if ( i < 0 ) return; - if ( o3tl::make_unsigned(i) > m_aAccessibleChildren.size() ) - i = m_aAccessibleChildren.size(); + if ( o3tl::make_unsigned(i) > m_aAccessibleChildren1.size() ) + i = m_aAccessibleChildren1.size(); // insert entry in child list - m_aAccessibleChildren.insert( m_aAccessibleChildren.begin() + i, Reference< XAccessible >() ); + m_aAccessibleChildren1.insert( m_aAccessibleChildren1.begin() + i, rtl::Reference< OAccessibleMenuItemComponent >() ); // update item position of accessible children - for ( sal_uInt32 j = i, nCount = m_aAccessibleChildren.size(); j < nCount; ++j ) + for ( sal_uInt32 j = i, nCount = m_aAccessibleChildren1.size(); j < nCount; ++j ) { - Reference< XAccessible > xAcc( m_aAccessibleChildren[j] ); + rtl::Reference< OAccessibleMenuItemComponent > xAcc( m_aAccessibleChildren1[j] ); if ( xAcc.is() ) - { - OAccessibleMenuItemComponent* pComp = static_cast< OAccessibleMenuItemComponent* >( xAcc.get() ); - if ( pComp ) - pComp->SetItemPos( static_cast<sal_uInt16>(j) ); - } + xAcc->SetItemPos( static_cast<sal_uInt16>(j) ); } // send accessible child event @@ -424,37 +394,31 @@ void OAccessibleMenuBaseComponent::InsertChild( sal_Int32 i ) void OAccessibleMenuBaseComponent::RemoveChild( sal_Int32 i ) { - if ( i < 0 || o3tl::make_unsigned(i) >= m_aAccessibleChildren.size() ) + if ( i < 0 || o3tl::make_unsigned(i) >= m_aAccessibleChildren1.size() ) return; // keep the accessible of the removed item - Reference< XAccessible > xChild( m_aAccessibleChildren[i] ); + rtl::Reference< OAccessibleMenuItemComponent > xChild( m_aAccessibleChildren1[i] ); // remove entry in child list - m_aAccessibleChildren.erase( m_aAccessibleChildren.begin() + i ); + m_aAccessibleChildren1.erase( m_aAccessibleChildren1.begin() + i ); // update item position of accessible children - for ( sal_uInt32 j = i, nCount = m_aAccessibleChildren.size(); j < nCount; ++j ) + for ( sal_uInt32 j = i, nCount = m_aAccessibleChildren1.size(); j < nCount; ++j ) { - Reference< XAccessible > xAcc( m_aAccessibleChildren[j] ); + rtl::Reference< OAccessibleMenuItemComponent > xAcc( m_aAccessibleChildren1[j] ); if ( xAcc.is() ) - { - OAccessibleMenuItemComponent* pComp = static_cast< OAccessibleMenuItemComponent* >( xAcc.get() ); - if ( pComp ) - pComp->SetItemPos( static_cast<sal_uInt16>(j) ); - } + xAcc->SetItemPos( static_cast<sal_uInt16>(j) ); } // send accessible child event if ( xChild.is() ) { Any aOldValue, aNewValue; - aOldValue <<= xChild; + aOldValue <<= uno::Reference<XAccessible>(xChild); NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue ); - Reference< XComponent > xComponent( xChild, UNO_QUERY ); - if ( xComponent.is() ) - xComponent->dispose(); + xChild->dispose(); } } @@ -469,16 +433,12 @@ bool OAccessibleMenuBaseComponent::IsChildHighlighted() { bool bChildHighlighted = false; - for (const Reference<XAccessible>& xChild : m_aAccessibleChildren) + for (const rtl::Reference<OAccessibleMenuItemComponent>& xChild : m_aAccessibleChildren1) { - if ( xChild.is() ) + if ( xChild.is() && xChild->IsHighlighted() ) { - OAccessibleMenuBaseComponent* pComp = static_cast< OAccessibleMenuBaseComponent* >( xChild.get() ); - if ( pComp && pComp->IsHighlighted() ) - { - bChildHighlighted = true; - break; - } + bChildHighlighted = true; + break; } } @@ -629,13 +589,12 @@ void OAccessibleMenuBaseComponent::ProcessMenuEvent( const VclMenuEvent& rVclMen m_pMenu = nullptr; // dispose all menu items - for (const Reference<XAccessible>& i : m_aAccessibleChildren) + for (const rtl::Reference<OAccessibleMenuItemComponent>& xComponent : m_aAccessibleChildren1) { - Reference< XComponent > xComponent( i, UNO_QUERY ); if ( xComponent.is() ) xComponent->dispose(); } - m_aAccessibleChildren.clear(); + m_aAccessibleChildren1.clear(); } } break; @@ -662,13 +621,12 @@ void OAccessibleMenuBaseComponent::disposing() m_pMenu = nullptr; // dispose all menu items - for (const Reference<XAccessible>& i : m_aAccessibleChildren) + for (const rtl::Reference<OAccessibleMenuItemComponent>& xComponent : m_aAccessibleChildren1) { - Reference< XComponent > xComponent( i, UNO_QUERY ); if ( xComponent.is() ) xComponent->dispose(); } - m_aAccessibleChildren.clear(); + m_aAccessibleChildren1.clear(); }