vcl/inc/accessibility/vclxaccessibletoolboxitem.hxx    |    7 ++---
 vcl/source/accessibility/vclxaccessibletoolbox.cxx     |   12 +++++-----
 vcl/source/accessibility/vclxaccessibletoolboxitem.cxx |   20 +++++++----------
 3 files changed, 18 insertions(+), 21 deletions(-)

New commits:
commit f48888041de611e8da967939db9d830db1cf3e86
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Jul 30 16:43:12 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Fri Aug 1 11:31:35 2025 +0200

    vcl a11y: Switch VCLXAccessibleToolBoxItem::m_xChild to OAccessible
    
    Change-Id: Ib9278011f80ad0a83fc26070dcc1ba7428ed00a1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188630
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/inc/accessibility/vclxaccessibletoolboxitem.hxx 
b/vcl/inc/accessibility/vclxaccessibletoolboxitem.hxx
index 69dac4afe9c0..5759ebec7090 100644
--- a/vcl/inc/accessibility/vclxaccessibletoolboxitem.hxx
+++ b/vcl/inc/accessibility/vclxaccessibletoolboxitem.hxx
@@ -42,7 +42,7 @@ private:
     bool                    m_bIsChecked;
     bool                    m_bIndeterminate;
 
-    css::uno::Reference< css::accessibility::XAccessible >    m_xChild;
+    rtl::Reference<comphelper::OAccessible> m_pChild;
 
 public:
     sal_Int32    getIndexInParent() const                    { return 
m_nIndexInParent; }
@@ -72,9 +72,8 @@ public:
     void                SetIndeterminate( bool _bIndeterminate );
     void         ReleaseToolBox() { m_pToolBox = nullptr; }
     void                NameChanged();
-    void                SetChild( const css::uno::Reference< 
css::accessibility::XAccessible >& _xChild );
-    const css::uno::Reference< css::accessibility::XAccessible >&
-                        GetChild() const { return m_xChild; }
+    void SetChild(const rtl::Reference<comphelper::OAccessible>& rpChild);
+    const rtl::Reference<comphelper::OAccessible>& GetChild() const { return 
m_pChild; }
     void                NotifyChildEvent( const css::uno::Reference< 
css::accessibility::XAccessible >& _xChild, bool _bShow );
 
     void                ToggleEnableState();
diff --git a/vcl/source/accessibility/vclxaccessibletoolbox.cxx 
b/vcl/source/accessibility/vclxaccessibletoolbox.cxx
index 7c0600b707c1..cba1b6e20e5c 100644
--- a/vcl/source/accessibility/vclxaccessibletoolbox.cxx
+++ b/vcl/source/accessibility/vclxaccessibletoolbox.cxx
@@ -325,13 +325,13 @@ void VCLXAccessibleToolBox::ReleaseSubToolBox( ToolBox* 
_pSubToolBox )
     if ( !xItem.is() )
         return;
 
-    Reference< XAccessible > xChild = _pSubToolBox->GetAccessible();
+    rtl::Reference<comphelper::OAccessible> pChild = 
_pSubToolBox->GetAccessible();
     VCLXAccessibleToolBoxItem* pItem =
         static_cast< VCLXAccessibleToolBoxItem* >( xItem.get() );
-    if ( pItem->GetChild() == xChild )
+    if (pItem->GetChild() == pChild)
     {
-        pItem->SetChild( Reference< XAccessible >() );
-        pItem->NotifyChildEvent( xChild, false );
+        pItem->SetChild({});
+        pItem->NotifyChildEvent(pChild, false);
     }
 }
 
diff --git a/vcl/source/accessibility/vclxaccessibletoolboxitem.cxx 
b/vcl/source/accessibility/vclxaccessibletoolboxitem.cxx
index 768cc6bdc329..d389d919b5e8 100644
--- a/vcl/source/accessibility/vclxaccessibletoolboxitem.cxx
+++ b/vcl/source/accessibility/vclxaccessibletoolboxitem.cxx
@@ -174,9 +174,9 @@ void VCLXAccessibleToolBoxItem::NameChanged()
     }
 }
 
-void VCLXAccessibleToolBoxItem::SetChild( const Reference< XAccessible >& 
_xChild )
+void VCLXAccessibleToolBoxItem::SetChild(const 
rtl::Reference<comphelper::OAccessible>& rpChild)
 {
-    m_xChild = _xChild;
+    m_pChild = rpChild;
 }
 
 void VCLXAccessibleToolBoxItem::NotifyChildEvent( const Reference< XAccessible 
>& _xChild, bool _bShow )
@@ -278,7 +278,7 @@ sal_Int64 SAL_CALL 
VCLXAccessibleToolBoxItem::getAccessibleChildCount(  )
 {
     OContextEntryGuard aGuard( this );
 
-    return m_xChild.is() ? 1 : 0;
+    return m_pChild.is() ? 1 : 0;
 }
 
 Reference< XAccessible > SAL_CALL 
VCLXAccessibleToolBoxItem::getAccessibleChild( sal_Int64 i )
@@ -286,10 +286,10 @@ Reference< XAccessible > SAL_CALL 
VCLXAccessibleToolBoxItem::getAccessibleChild(
     OContextEntryGuard aGuard( this );
 
     // no child -> so index is out of bounds
-    if ( !m_xChild.is() || i != 0 )
+    if (!m_pChild.is() || i != 0)
         throw IndexOutOfBoundsException();
 
-    return m_xChild;
+    return m_pChild;
 }
 
 Reference< XAccessible > SAL_CALL 
VCLXAccessibleToolBoxItem::getAccessibleParent(  )
@@ -317,7 +317,7 @@ OUString SAL_CALL 
VCLXAccessibleToolBoxItem::getAccessibleDescription(  )
 {
     OExternalLockGuard aGuard( this );
 
-    if (m_nRole == AccessibleRole::PANEL && m_xChild.is())
+    if (m_nRole == AccessibleRole::PANEL && m_pChild.is())
     {
         return VclResId( RID_STR_ACC_PANEL_DESCRIPTION );
     }
commit 79fdda5112f8b4931e35f2c8190319a7dd99b1c1
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Jul 30 16:35:20 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Fri Aug 1 11:31:28 2025 +0200

    vcl a11y: Use OAccessible in VCLXAccessibleToolBox::ProcessWindowEvent
    
    Drop one unnecessary call to OAccessible::getAccessibleContext,
    as OAccessible implements the XAccessibleContext interface
    itself.
    
    Change-Id: I9456ddb9cc95b88c73681efa21f49ca9d413c3bf
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188629
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/source/accessibility/vclxaccessibletoolbox.cxx 
b/vcl/source/accessibility/vclxaccessibletoolbox.cxx
index 6195446e6feb..7c0600b707c1 100644
--- a/vcl/source/accessibility/vclxaccessibletoolbox.cxx
+++ b/vcl/source/accessibility/vclxaccessibletoolbox.cxx
@@ -449,8 +449,8 @@ void VCLXAccessibleToolBox::ProcessWindowEvent( const 
VclWindowEvent& rVclWindow
             if ( pWin && pWin->GetParent() &&
                  pWin->GetParent()->GetType() == WindowType::TOOLBOX )
             {
-                auto pParentAccContext = 
pWin->GetParent()->GetAccessible()->getAccessibleContext();
-                VCLXAccessibleToolBox* pParent = static_cast< 
VCLXAccessibleToolBox* >( pParentAccContext.get() );
+                rtl::Reference<comphelper::OAccessible> pParentAcc = 
pWin->GetParent()->GetAccessible();
+                VCLXAccessibleToolBox* pParent = 
static_cast<VCLXAccessibleToolBox*>(pParentAcc.get());
                 if ( pParent )
                     pParent->ReleaseSubToolBox(static_cast<ToolBox 
*>(pWin.get()));
             }
commit 9147104ea707f9c0aeb1b94a00bd7fdcc7124f75
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Jul 30 16:30:24 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Fri Aug 1 11:31:21 2025 +0200

    vcl a11y: Drop unnecessary call to OAccessible::getAccessibleContext
    
    ... which just returns a reference to self.
    
    Change-Id: Iadf133537ceff28d7a04fdbbd7455b780fd7cc10
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188628
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/source/accessibility/vclxaccessibletoolboxitem.cxx 
b/vcl/source/accessibility/vclxaccessibletoolboxitem.cxx
index c971fb98e88e..768cc6bdc329 100644
--- a/vcl/source/accessibility/vclxaccessibletoolboxitem.cxx
+++ b/vcl/source/accessibility/vclxaccessibletoolboxitem.cxx
@@ -345,11 +345,9 @@ OUString VCLXAccessibleToolBoxItem::implGetAccessibleName()
         return sRet;
 
     vcl::Window* pItemWindow = m_pToolBox->GetItemWindow( m_nItemId );
-    if ( m_nRole == AccessibleRole::PANEL && pItemWindow && 
pItemWindow->GetAccessible().is() &&
-        pItemWindow->GetAccessible()->getAccessibleContext().is() )
-    {
-        sRet = 
pItemWindow->GetAccessible()->getAccessibleContext()->getAccessibleName();
-    }
+    if (m_nRole == AccessibleRole::PANEL && pItemWindow && 
pItemWindow->GetAccessible().is())
+        sRet = pItemWindow->GetAccessible()->getAccessibleName();
+
     return sRet;
 }
 

Reply via email to