include/vcl/accessibility/AccessibleBrowseBox.hxx             |    5 
 include/vcl/accessibility/AccessibleBrowseBoxBase.hxx         |    5 
 include/vcl/accessibility/AccessibleBrowseBoxCell.hxx         |    2 
 include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx |    4 
 include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx   |    2 
 include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx    |    6 -
 include/vcl/accessibility/accessibleeditbrowseboxcell.hxx     |    4 
 include/vcl/accessiblefactory.hxx                             |   32 -----
 svtools/source/brwbox/brwbox3.cxx                             |   20 +--
 svtools/source/brwbox/editbrowsebox2.cxx                      |   26 +---
 vcl/source/accessibility/acc_factory.cxx                      |   54 ----------
 vcl/source/treelist/svtabbx.cxx                               |   21 ++-
 12 files changed, 49 insertions(+), 132 deletions(-)

New commits:
commit 51dc6397e740b49038d15f7e0f1e9d3970e9d5a3
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Thu Feb 6 09:21:06 2025 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Fri Feb 7 09:19:09 2025 +0100

    browsebox a11y: Call AccessibleBrowseBox* ctors directly
    
    No longer use the AccessibleFactory for creating the
    accessible objects.
    
    In the past, this was necessary to break a dependency
    cycle, but that's no longer the case, see
    
        commit 9283da858506fe3b4383e4cfe0506e470a4356f6
        Author: Michael Weghorn <m.wegh...@posteo.de>
        Date:   Tue Dec 17 12:04:04 2024 +0100
    
            a11y: Merge accessibility module into vcl
    
    Mark copy ctors and operator= as deleted.
    Otherwise, the Windows build fails like this [1]:
    
        [build CXX] vcl/source/accessibility/AccessibleBrowseBoxTableCell.cxx
        C:        C:        C:        C:        C:        C:        C:        
C:        make[1]: *** 
[C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/solenv/gbuild/LinkTarget.mk:339:
 
C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/workdir/CxxObject/vcl/source/accessibility/AccessibleBrowseBoxTableCell.o]
 Error 2
        make[1]: *** Waiting for unfinished jobs....
    
    [1] https://ci.libreoffice.org/job/gerrit_windows/193155/console
    
    Change-Id: Ib24fc6b7f85e4ca575cb2505c172243da2cfb8b8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181206
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/include/vcl/accessibility/AccessibleBrowseBox.hxx 
b/include/vcl/accessibility/AccessibleBrowseBox.hxx
index dfb4e553d469..40843493309f 100644
--- a/include/vcl/accessibility/AccessibleBrowseBox.hxx
+++ b/include/vcl/accessibility/AccessibleBrowseBox.hxx
@@ -44,6 +44,9 @@ protected:
 
     virtual ~AccessibleBrowseBox() override;
 
+    AccessibleBrowseBox(const AccessibleBrowseBox&) = delete;
+    AccessibleBrowseBox& operator=(const AccessibleBrowseBox&) = delete;
+
     /** sets the XAccessible which created the context
 
         To be called only once, and only if in the ctor NULL was passed.
@@ -191,7 +194,7 @@ private:
     The instance holds its XAccessibleContext with a hard reference, while
     the context holds this instance weak.
 */
-class AccessibleBrowseBoxAccess final : public ::vcl::IAccessibleBrowseBox
+class VCL_DLLPUBLIC AccessibleBrowseBoxAccess final : public 
::vcl::IAccessibleBrowseBox
 {
 private:
     mutable std::recursive_mutex m_aMutex;
diff --git a/include/vcl/accessibility/AccessibleBrowseBoxBase.hxx 
b/include/vcl/accessibility/AccessibleBrowseBoxBase.hxx
index 031848533310..73043b568f1f 100644
--- a/include/vcl/accessibility/AccessibleBrowseBoxBase.hxx
+++ b/include/vcl/accessibility/AccessibleBrowseBoxBase.hxx
@@ -49,7 +49,7 @@ namespace vcl {
 
 /** The BrowseBox accessible objects inherit from this base class. It
     implements basic functionality for various Accessibility interfaces. */
-class AccessibleBrowseBoxBase
+class VCL_DLLPUBLIC AccessibleBrowseBoxBase
     : public 
cppu::ImplInheritanceHelper<comphelper::OAccessibleComponentHelper,
                                          css::awt::XFocusListener, 
css::lang::XServiceInfo>
 {
@@ -86,6 +86,9 @@ public:
         OUString  rDescription );
 
 protected:
+    AccessibleBrowseBoxBase(const AccessibleBrowseBoxBase&) = delete;
+    AccessibleBrowseBoxBase& operator=(const AccessibleBrowseBoxBase&) = 
delete;
+
     /** Commits DeFunc event to listeners and cleans up members. */
     virtual void SAL_CALL disposing() override;
 
diff --git a/include/vcl/accessibility/AccessibleBrowseBoxCell.hxx 
b/include/vcl/accessibility/AccessibleBrowseBoxCell.hxx
index 0999153deda0..faaa81655e7a 100644
--- a/include/vcl/accessibility/AccessibleBrowseBoxCell.hxx
+++ b/include/vcl/accessibility/AccessibleBrowseBoxCell.hxx
@@ -27,7 +27,7 @@
 
 /** common accessibility-functionality for browse box elements which occupy a 
cell
 */
-class AccessibleBrowseBoxCell : public AccessibleBrowseBoxBase
+class VCL_DLLPUBLIC AccessibleBrowseBoxCell : public AccessibleBrowseBoxBase
 {
 private:
     sal_Int32               m_nRowPos;      // the row number of the table cell
diff --git a/include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx 
b/include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx
index 58e22acc2bbc..d07a2f3edc42 100644
--- a/include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx
+++ b/include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx
@@ -28,8 +28,8 @@ typedef ::cppu::ImplHelper2 <   
css::accessibility::XAccessible,
                                 css::accessibility::XAccessibleValue
                             >   AccessibleCheckBoxCell_BASE;
 
-class AccessibleCheckBoxCell final : public AccessibleBrowseBoxCell
-                                ,public AccessibleCheckBoxCell_BASE
+class VCL_DLLPUBLIC AccessibleCheckBoxCell final : public 
AccessibleBrowseBoxCell,
+                                                   public 
AccessibleCheckBoxCell_BASE
 {
 private:
     TriState m_eState;
diff --git a/include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx 
b/include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx
index e07ed3901230..e8facbaf225b 100644
--- a/include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx
+++ b/include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx
@@ -20,7 +20,7 @@
 
 #include <vcl/accessibility/AccessibleBrowseBoxBase.hxx>
 
-class AccessibleBrowseBoxHeaderCell final : public BrowseBoxAccessibleElement
+class VCL_DLLPUBLIC AccessibleBrowseBoxHeaderCell final : public 
BrowseBoxAccessibleElement
 {
     sal_Int32   m_nColumnRowId;
 public:
diff --git a/include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx 
b/include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx
index 0bbe3060ee3c..11faa3f1e639 100644
--- a/include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx
+++ b/include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx
@@ -24,7 +24,7 @@
 #include <vcl/accessibility/AccessibleBrowseBoxCell.hxx>
 
 // implementation of a table cell of BrowseBox
-class AccessibleBrowseBoxTableCell final
+class VCL_DLLPUBLIC AccessibleBrowseBoxTableCell final
     : public cppu::ImplInheritanceHelper<AccessibleBrowseBoxCell,
                                          css::accessibility::XAccessibleText,
                                          css::accessibility::XAccessible>,
@@ -97,6 +97,10 @@ public:
     virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( 
sal_Int32 nIndex, sal_Int16 aTextType ) override;
     virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 
nEndIndex ) override;
     virtual sal_Bool SAL_CALL scrollSubstringTo( sal_Int32 nStartIndex, 
sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) 
override;
+
+private:
+    AccessibleBrowseBoxTableCell(const AccessibleBrowseBoxTableCell&) = delete;
+    AccessibleBrowseBoxTableCell& operator=(const 
AccessibleBrowseBoxTableCell&) = delete;
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/vcl/accessibility/accessibleeditbrowseboxcell.hxx 
b/include/vcl/accessibility/accessibleeditbrowseboxcell.hxx
index 635fc016683c..0c40aa7d2cf8 100644
--- a/include/vcl/accessibility/accessibleeditbrowseboxcell.hxx
+++ b/include/vcl/accessibility/accessibleeditbrowseboxcell.hxx
@@ -86,8 +86,8 @@ private:
 // = EditBrowseBoxTableCell
 
 // XAccessible providing an EditBrowseBoxTableCell
-class EditBrowseBoxTableCellAccess final :
-    public comphelper::WeakComponentImplHelper<css::accessibility::XAccessible>
+class VCL_DLLPUBLIC EditBrowseBoxTableCellAccess final
+    : public 
comphelper::WeakComponentImplHelper<css::accessibility::XAccessible>
 {
     css::uno::WeakReference< css::accessibility::XAccessibleContext >
                                         m_aContext;
diff --git a/include/vcl/accessiblefactory.hxx 
b/include/vcl/accessiblefactory.hxx
index 19a13e5afdf6..9174a4189482 100644
--- a/include/vcl/accessiblefactory.hxx
+++ b/include/vcl/accessiblefactory.hxx
@@ -27,7 +27,6 @@
 #include <salhelper/simplereferenceobject.hxx>
 #include <tools/gen.hxx>
 #include <rtl/ref.hxx>
-#include <vcl/accessibility/AccessibleBrowseBoxObjType.hxx>
 
 namespace com::sun::star {
     namespace accessibility {
@@ -39,8 +38,6 @@ namespace com::sun::star {
     }
 }
 
-namespace vcl { class IAccessibleBrowseBox; }
-namespace vcl { class IAccessibleTableProvider; }
 namespace vcl { class Window; }
 
 class CheckBox;
@@ -93,10 +90,6 @@ public:
     static css::uno::Reference<css::accessibility::XAccessibleContext>
     createAccessibleContext(vcl::Window* pWindow);
 
-    static rtl::Reference<vcl::IAccessibleBrowseBox>
-    createAccessibleBrowseBox(const 
css::uno::Reference<css::accessibility::XAccessible>& _rxParent,
-                              vcl::IAccessibleTableProvider& _rBrowseBox);
-
     static css::uno::Reference<css::accessibility::XAccessible> 
createAccessibleIconChoiceCtrl(
         SvtIconChoiceCtrl& _rIconCtrl,
         const css::uno::Reference<css::accessibility::XAccessible>& _xParent);
@@ -111,31 +104,6 @@ public:
     static css::uno::Reference<css::accessibility::XAccessible>
     createAccessibleIconView(SvTreeListBox& _rListBox,
                              const 
css::uno::Reference<css::accessibility::XAccessible>& _xParent);
-
-    static css::uno::Reference<css::accessibility::XAccessible> 
createAccessibleBrowseBoxHeaderBar(
-        const css::uno::Reference<css::accessibility::XAccessible>& rxParent,
-        vcl::IAccessibleTableProvider& _rOwningTable, 
AccessibleBrowseBoxObjType _eObjType);
-
-    static css::uno::Reference<css::accessibility::XAccessible> 
createAccessibleBrowseBoxTableCell(
-        const css::uno::Reference<css::accessibility::XAccessible>& _rxParent,
-        vcl::IAccessibleTableProvider& _rBrowseBox, sal_Int32 _nRowId, 
sal_uInt16 _nColId,
-        sal_Int32 _nOffset);
-
-    static css::uno::Reference<css::accessibility::XAccessible> 
createAccessibleBrowseBoxHeaderCell(
-        sal_Int32 _nColumnRowId,
-        const css::uno::Reference<css::accessibility::XAccessible>& rxParent,
-        vcl::IAccessibleTableProvider& _rBrowseBox, AccessibleBrowseBoxObjType 
_eObjType);
-
-    static css::uno::Reference<css::accessibility::XAccessible> 
createAccessibleCheckBoxCell(
-        const css::uno::Reference<css::accessibility::XAccessible>& _rxParent,
-        vcl::IAccessibleTableProvider& _rBrowseBox, sal_Int32 _nRowPos, 
sal_uInt16 _nColPos,
-        const TriState& _eState, bool _bIsTriState);
-
-    static css::uno::Reference<css::accessibility::XAccessible> 
createEditBrowseBoxTableCellAccess(
-        const css::uno::Reference<css::accessibility::XAccessible>& _rxParent,
-        const css::uno::Reference<css::accessibility::XAccessible>& 
_rxControlAccessible,
-        const css::uno::Reference<css::awt::XWindow>& _rxFocusWindow,
-        vcl::IAccessibleTableProvider& _rBrowseBox, sal_Int32 _nRowPos, 
sal_uInt16 _nColPos);
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svtools/source/brwbox/brwbox3.cxx 
b/svtools/source/brwbox/brwbox3.cxx
index 90f33271679b..8a1c9efff76a 100644
--- a/svtools/source/brwbox/brwbox3.cxx
+++ b/svtools/source/brwbox/brwbox3.cxx
@@ -19,7 +19,10 @@
 
 #include <osl/diagnose.h>
 #include <svtools/brwbox.hxx>
+#include <vcl/accessibility/AccessibleBrowseBox.hxx>
+#include <vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx>
 #include <vcl/accessibility/AccessibleBrowseBoxObjType.hxx>
+#include <vcl/accessibility/AccessibleBrowseBoxTableCell.hxx>
 #include <vcl/accessiblefactory.hxx>
 #include <sal/log.hxx>
 #include <tools/debug.hxx>
@@ -41,8 +44,8 @@ Reference<XAccessible> 
BrowseBox::getAccessibleHeaderCell(BrowseBox::THeaderCell
     BrowseBox::THeaderCellMap::iterator aFind = _raHeaderCells.find(_nPos);
     if (aFind == _raHeaderCells.end())
     {
-        Reference<XAccessible> xAccessible = 
AccessibleFactory::createAccessibleBrowseBoxHeaderCell(
-            _nPos, _rParent, *this, _eType);
+        Reference<XAccessible> xAccessible
+            = new AccessibleBrowseBoxHeaderCell(_nPos, _rParent, *this, 
_eType);
         aFind = _raHeaderCells.emplace(_nPos, xAccessible).first;
     }
     if (aFind != _raHeaderCells.end())
@@ -74,9 +77,7 @@ Reference< XAccessible > BrowseBox::CreateAccessible()
         Reference< XAccessible > xAccParent = pParent->GetAccessible();
         if( xAccParent.is() )
         {
-            m_pAccessible = AccessibleFactory::createAccessibleBrowseBox(
-                xAccParent, *this
-            );
+            m_pAccessible = new AccessibleBrowseBoxAccess(xAccParent, *this);
         }
     }
 
@@ -91,13 +92,8 @@ Reference< XAccessible > BrowseBox::CreateAccessibleCell( 
sal_Int32 _nRow, sal_u
     // BBINDEX_TABLE must be the table
     OSL_ENSURE(m_pAccessible,"Invalid call: Accessible is null");
 
-    return AccessibleFactory::createAccessibleBrowseBoxTableCell(
-        getAccessibleTable(),
-        *this,
-        _nRow,
-        _nColumnPos,
-        OFFSET_DEFAULT
-    );
+    return new AccessibleBrowseBoxTableCell(getAccessibleTable(), *this, 
_nRow, _nColumnPos,
+                                            OFFSET_DEFAULT);
 }
 
 
diff --git a/svtools/source/brwbox/editbrowsebox2.cxx 
b/svtools/source/brwbox/editbrowsebox2.cxx
index 89f5c640564e..220f2dc0f581 100644
--- a/svtools/source/brwbox/editbrowsebox2.cxx
+++ b/svtools/source/brwbox/editbrowsebox2.cxx
@@ -23,6 +23,8 @@
 #include "editbrowseboximpl.hxx"
 #include <comphelper/types.hxx>
 #include <toolkit/helper/vclunohelper.hxx>
+#include <vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx>
+#include <vcl/accessibility/accessibleeditbrowseboxcell.hxx>
 #include <vcl/accessiblefactory.hxx>
 #include <vcl/svapp.hxx>
 #include <tools/debug.hxx>
@@ -45,14 +47,8 @@ Reference< XAccessible > 
EditBrowseBox::CreateAccessibleCheckBoxCell(sal_Int32 _
     Reference< XAccessible > xReturn;
     if ( xAccContext.is() )
     {
-        xReturn = AccessibleFactory::createAccessibleCheckBoxCell(
-            xAccContext->getAccessibleChild( ::vcl::BBINDEX_TABLE ),
-            *this,
-            _nRow,
-            _nColumnPos,
-            eState,
-            true
-        );
+        xReturn = new 
AccessibleCheckBoxCell(xAccContext->getAccessibleChild(::vcl::BBINDEX_TABLE),
+                                             *this, _nRow, _nColumnPos, 
eState, true);
     }
     return xReturn;
 }
@@ -75,14 +71,12 @@ void EditBrowseBox::implCreateActiveAccessible( )
     if ( !(xMy.is() && xCont.is()) )
          return;
 
-    m_aImpl->m_xActiveCell = 
AccessibleFactory::createEditBrowseBoxTableCellAccess(
-         xMy,                                                       // parent 
accessible
-         xCont,                                                     // control 
accessible
-         VCLUnoHelper::GetInterface( &aController->GetWindow() ),   // focus 
window (for notifications)
-         *this,                                                     // the 
browse box
-         GetCurRow(),
-         GetColumnPos( GetCurColumnId() )
-     );
+    m_aImpl->m_xActiveCell = new EditBrowseBoxTableCellAccess(
+        xMy, // parent accessible
+        xCont, // control accessible
+        VCLUnoHelper::GetInterface(&aController->GetWindow()), // focus window 
(for notifications)
+        *this, // the browse box
+        GetCurRow(), GetColumnPos(GetCurColumnId()));
 
     commitBrowseBoxEvent( CHILD, Any( m_aImpl->m_xActiveCell ), Any() );
 }
diff --git a/vcl/source/accessibility/acc_factory.cxx 
b/vcl/source/accessibility/acc_factory.cxx
index d66043e06ad0..6756899685a1 100644
--- a/vcl/source/accessibility/acc_factory.cxx
+++ b/vcl/source/accessibility/acc_factory.cxx
@@ -40,16 +40,10 @@
 #include <accessibility/vclxaccessibletabcontrol.hxx>
 #include <accessibility/vclxaccessibletabpagewindow.hxx>
 #include <accessibility/accessibletablistbox.hxx>
-#include <vcl/accessibility/AccessibleBrowseBox.hxx>
 #include <accessibility/accessibleiconchoicectrl.hxx>
 #include <accessibility/AccessibleIconView.hxx>
 #include <accessibility/accessiblelistbox.hxx>
-#include <vcl/accessibility/AccessibleBrowseBoxHeaderBar.hxx>
 #include <accessibility/textwindowaccessibility.hxx>
-#include <vcl/accessibility/AccessibleBrowseBoxTableCell.hxx>
-#include <vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx>
-#include <vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx>
-#include <vcl/accessibility/accessibleeditbrowseboxcell.hxx>
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
 #include <vcl/toolkit/lstbox.hxx>
 #include <vcl/toolkit/combobox.hxx>
@@ -187,13 +181,6 @@ Reference< XAccessibleContext > 
AccessibleFactory::createAccessibleContext(Forma
     return new SVTXAccessibleNumericField(pFormattedField);
 }
 
-rtl::Reference<vcl::IAccessibleBrowseBox>
-AccessibleFactory::createAccessibleBrowseBox(const Reference<XAccessible>& 
_rxParent,
-                                             vcl::IAccessibleTableProvider& 
_rBrowseBox)
-{
-    return new AccessibleBrowseBoxAccess( _rxParent, _rBrowseBox );
-}
-
 Reference<XAccessible>
 AccessibleFactory::createAccessibleIconChoiceCtrl(SvtIconChoiceCtrl& 
_rIconCtrl,
                                                   const 
Reference<XAccessible>& _xParent)
@@ -222,45 +209,4 @@ AccessibleFactory::createAccessibleIconView(SvTreeListBox& 
_rListBox,
     return new AccessibleIconView( _rListBox, _xParent );
 }
 
-Reference<XAccessible>
-AccessibleFactory::createAccessibleBrowseBoxHeaderBar(const 
Reference<XAccessible>& rxParent,
-                                                      
vcl::IAccessibleTableProvider& _rOwningTable,
-                                                      
AccessibleBrowseBoxObjType _eObjType)
-{
-    return new AccessibleBrowseBoxHeaderBar( rxParent, _rOwningTable, 
_eObjType );
-}
-
-Reference<XAccessible> AccessibleFactory::createAccessibleBrowseBoxTableCell(
-    const Reference<XAccessible>& _rxParent, vcl::IAccessibleTableProvider& 
_rBrowseBox,
-    sal_Int32 _nRowId, sal_uInt16 _nColId, sal_Int32 _nOffset)
-{
-    return new AccessibleBrowseBoxTableCell( _rxParent, _rBrowseBox,
-        _nRowId, _nColId, _nOffset );
-}
-
-Reference<XAccessible> AccessibleFactory::createAccessibleBrowseBoxHeaderCell(
-    sal_Int32 _nColumnRowId, const Reference<XAccessible>& rxParent,
-    vcl::IAccessibleTableProvider& _rBrowseBox, AccessibleBrowseBoxObjType 
_eObjType)
-{
-    return new AccessibleBrowseBoxHeaderCell( _nColumnRowId, rxParent, 
_rBrowseBox,
-        _eObjType);
-}
-
-Reference<XAccessible> AccessibleFactory::createAccessibleCheckBoxCell(
-    const Reference<XAccessible>& _rxParent, vcl::IAccessibleTableProvider& 
_rBrowseBox,
-    sal_Int32 _nRowPos, sal_uInt16 _nColPos, const TriState& _eState, bool 
_bIsTriState)
-{
-    return new AccessibleCheckBoxCell( _rxParent, _rBrowseBox,
-        _nRowPos, _nColPos, _eState, _bIsTriState );
-}
-
-Reference<XAccessible> AccessibleFactory::createEditBrowseBoxTableCellAccess(
-    const Reference<XAccessible>& _rxParent, const Reference<XAccessible>& 
_rxControlAccessible,
-    const Reference<XWindow>& _rxFocusWindow, vcl::IAccessibleTableProvider& 
_rBrowseBox,
-    sal_Int32 _nRowPos, sal_uInt16 _nColPos)
-{
-    return new EditBrowseBoxTableCellAccess( _rxParent, _rxControlAccessible,
-        _rxFocusWindow, _rBrowseBox, _nRowPos, _nColPos );
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx
index d417c320c014..ffd946e1b53b 100644
--- a/vcl/source/treelist/svtabbx.cxx
+++ b/vcl/source/treelist/svtabbx.cxx
@@ -37,6 +37,10 @@
 #include <memory>
 #include <tools/json_writer.hxx>
 #include <comphelper/propertyvalue.hxx>
+#include <vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx>
+#include <vcl/accessibility/AccessibleBrowseBoxHeaderBar.hxx>
+#include <vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx>
+#include <vcl/accessibility/AccessibleBrowseBoxTableCell.hxx>
 #include <vcl/filter/PngImageWriter.hxx>
 #include <comphelper/base64.hxx>
 
@@ -647,8 +651,8 @@ IMPL_LINK_NOARG(SvHeaderTabListBox, 
CreateAccessibleHdl_Impl, HeaderBar*, void)
         css::uno::Reference< XAccessible > xAccParent = 
pParent->GetAccessible();
         if ( xAccParent.is() )
         {
-            Reference<XAccessible> xAccessible = 
AccessibleFactory::createAccessibleBrowseBoxHeaderBar(
-                xAccParent, *this, AccessibleBrowseBoxObjType::ColumnHeaderBar 
);
+            Reference<XAccessible> xAccessible = new 
AccessibleBrowseBoxHeaderBar(
+                xAccParent, *this, 
AccessibleBrowseBoxObjType::ColumnHeaderBar);
             m_xHeaderBar->SetAccessible(xAccessible);
         }
     }
@@ -863,11 +867,11 @@ Reference< XAccessible > 
SvHeaderTabListBox::CreateAccessibleCell( sal_Int32 _nR
     TriState eState = TRISTATE_INDET;
     bool bIsCheckBox = IsCellCheckBox( _nRow, _nColumnPos, eState );
     if ( bIsCheckBox )
-        xChild = AccessibleFactory::createAccessibleCheckBoxCell(
-                m_xAccessible->getTable(), *this, _nRow, _nColumnPos, eState, 
false);
+        xChild = new AccessibleCheckBoxCell(m_xAccessible->getTable(), *this, 
_nRow, _nColumnPos,
+                                            eState, false);
     else
-        xChild = AccessibleFactory::createAccessibleBrowseBoxTableCell(
-                m_xAccessible->getTable(), *this, _nRow, _nColumnPos, 
OFFSET_NONE);
+        xChild = new AccessibleBrowseBoxTableCell(m_xAccessible->getTable(), 
*this, _nRow,
+                                                  _nColumnPos, OFFSET_NONE);
 
     return xChild;
 }
@@ -893,9 +897,8 @@ Reference< XAccessible > 
SvHeaderTabListBox::CreateAccessibleColumnHeader( sal_u
     if (!xChild.is() && m_xAccessible.is())
     {
         // no -> create new header cell
-        xChild = AccessibleFactory::createAccessibleBrowseBoxHeaderCell(
-            _nColumn, m_xAccessible->getHeaderBar(),
-            *this, AccessibleBrowseBoxObjType::ColumnHeaderCell);
+        xChild = new AccessibleBrowseBoxHeaderCell(_nColumn, 
m_xAccessible->getHeaderBar(), *this,
+                                                   
AccessibleBrowseBoxObjType::ColumnHeaderCell);
 
         // insert into list
         m_aAccessibleChildren[ _nColumn ] = xChild;

Reply via email to