Blame SOURCES/0001-Resolves-tdf-133411-drop-CONTENT_FLOWS_TO-from-dialo.patch

2a4ee2
From 0eab7dfc71e61c75d5c07093a95c64d05bc2f0c1 Mon Sep 17 00:00:00 2001
2a4ee2
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
2a4ee2
Date: Wed, 27 May 2020 17:11:34 +0100
2a4ee2
Subject: [PATCH] Resolves: tdf#133411 drop CONTENT_FLOWS_TO from dialog to
2a4ee2
 search results
2a4ee2
MIME-Version: 1.0
2a4ee2
Content-Type: text/plain; charset=UTF-8
2a4ee2
Content-Transfer-Encoding: 8bit
2a4ee2
2a4ee2
in the document, looks like only the calc one actually works, and when
2a4ee2
it works on large quantities of results calc grinds to a complete halt
2a4ee2
2a4ee2
This was introduced with:
2a4ee2
2a4ee2
commit b41332475783c31136673fb44cf4c411bb0148f8
2a4ee2
Date:   Mon Dec 2 15:54:29 2013 +0000
2a4ee2
2a4ee2
    Integrate branch of IAccessible2
2a4ee2
2a4ee2
and has been a problem on and off with calc's potentially ~infinite grid
2a4ee2
2a4ee2
There is the on-by-default search results dialog in calc (which has a limit on
2a4ee2
how many it shows) which provides an alternative route to iterate through the
2a4ee2
results
2a4ee2
2a4ee2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95006
2a4ee2
Tested-by: Jenkins
2a4ee2
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2a4ee2
(cherry picked from commit 0b94169d820482434dc98a37c3c1633ca46fd0dc)
2a4ee2
2a4ee2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95014
2a4ee2
Tested-by: Jenkins
2a4ee2
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2a4ee2
(cherry picked from commit f753baddc057a3bf4881ac78a15cd11fa847ee28)
2a4ee2
2a4ee2
Change-Id: I2685e480d2d15220be0bddbc83baad3992e7d5d1
2a4ee2
---
2a4ee2
 include/comphelper/accflowenum.hxx            |  34 ----
2a4ee2
 include/svx/srchdlg.hxx                       |   5 -
2a4ee2
 include/vcl/weld.hxx                          |   5 -
2a4ee2
 include/vcl/window.hxx                        |   4 -
2a4ee2
 .../ui/Accessibility/AccessibleDocument.cxx   | 154 ------------------
2a4ee2
 sc/source/ui/inc/AccessibleDocument.hxx       |   7 +-
2a4ee2
 sc/source/ui/view/tabvwshe.cxx                |  40 +----
2a4ee2
 sd/IwyuFilter_sd.yaml                         |   1 -
2a4ee2
 .../AccessibleDocumentViewBase.cxx            |   9 -
2a4ee2
 .../AccessibleDrawDocumentView.cxx            | 151 -----------------
2a4ee2
 .../ui/inc/AccessibleDocumentViewBase.hxx     |   7 +-
2a4ee2
 .../ui/inc/AccessibleDrawDocumentView.hxx     |   6 -
2a4ee2
 sd/source/ui/view/Outliner.cxx                |  11 --
2a4ee2
 svx/source/dialog/srchdlg.cxx                 |  57 -------
2a4ee2
 sw/source/core/access/accdoc.cxx              | 121 --------------
2a4ee2
 sw/source/core/access/accdoc.hxx              |   8 +-
2a4ee2
 sw/source/uibase/uiview/viewsrch.cxx          |  38 -----
2a4ee2
 .../source/awt/vclxaccessiblecomponent.cxx    |   3 -
2a4ee2
 vcl/inc/window.h                              |   1 -
2a4ee2
 vcl/source/app/salvtables.cxx                 |  10 --
2a4ee2
 vcl/source/window/window2.cxx                 |  15 --
2a4ee2
 vcl/unx/gtk3/gtk3gtkinst.cxx                  |  29 +---
2a4ee2
 22 files changed, 5 insertions(+), 711 deletions(-)
2a4ee2
 delete mode 100644 include/comphelper/accflowenum.hxx
2a4ee2
2a4ee2
diff --git a/include/comphelper/accflowenum.hxx b/include/comphelper/accflowenum.hxx
2a4ee2
deleted file mode 100644
2a4ee2
index fc6b7ea2d8ec..000000000000
2a4ee2
--- a/include/comphelper/accflowenum.hxx
2a4ee2
+++ /dev/null
2a4ee2
@@ -1,34 +0,0 @@
2a4ee2
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2a4ee2
-/*
2a4ee2
- * This file is part of the LibreOffice project.
2a4ee2
- *
2a4ee2
- * This Source Code Form is subject to the terms of the Mozilla Public
2a4ee2
- * License, v. 2.0. If a copy of the MPL was not distributed with this
2a4ee2
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
2a4ee2
- *
2a4ee2
- * This file incorporates work covered by the following license notice:
2a4ee2
- *
2a4ee2
- *   Licensed to the Apache Software Foundation (ASF) under one or more
2a4ee2
- *   contributor license agreements. See the NOTICE file distributed
2a4ee2
- *   with this work for additional information regarding copyright
2a4ee2
- *   ownership. The ASF licenses this file to you under the Apache
2a4ee2
- *   License, Version 2.0 (the "License"); you may not use this file
2a4ee2
- *   except in compliance with the License. You may obtain a copy of
2a4ee2
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
2a4ee2
- */
2a4ee2
-
2a4ee2
-#ifndef INCLUDED_COMPHELPER_ACCFLOWENUM_HXX
2a4ee2
-#define INCLUDED_COMPHELPER_ACCFLOWENUM_HXX
2a4ee2
-
2a4ee2
-#include <sal/types.h>
2a4ee2
-
2a4ee2
-enum AccessibilityFlowTo : sal_Int32
2a4ee2
-{
2a4ee2
-    FORSPELLCHECKFLOWTO = 1,
2a4ee2
-    FORFINDREPLACEFLOWTO_ITEM = 2,
2a4ee2
-    FORFINDREPLACEFLOWTO_RANGE = 3
2a4ee2
-};
2a4ee2
-
2a4ee2
-#endif // INCLUDED_COMPHELPER_ACCFLOWENUM_HXX
2a4ee2
-
2a4ee2
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
2a4ee2
diff --git a/include/svx/srchdlg.hxx b/include/svx/srchdlg.hxx
2a4ee2
index 01f5b07663d5..3d1be499c399 100644
2a4ee2
--- a/include/svx/srchdlg.hxx
2a4ee2
+++ b/include/svx/srchdlg.hxx
2a4ee2
@@ -126,16 +126,11 @@ public:
2a4ee2
 
2a4ee2
     TransliterationFlags        GetTransliterationFlags() const;
2a4ee2
 
2a4ee2
-    void SetDocWin(vcl::Window* pDocWin, SvxSearchCmd eCommand);
2a4ee2
-    void SetSrchFlag( bool bSuccess ) { mbSuccess = bSuccess; }
2a4ee2
-    bool GetSrchFlag() { return mbSuccess; }
2a4ee2
     void            SetSaveToModule(bool b);
2a4ee2
 
2a4ee2
     void SetSearchLabel(const OUString& rStr);
2a4ee2
 
2a4ee2
 private:
2a4ee2
-    bool            mbSuccess;
2a4ee2
-
2a4ee2
     SfxBindings&    rBindings;
2a4ee2
     bool            bWriter;
2a4ee2
     bool            bSearch;
2a4ee2
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
2a4ee2
index b6c4c22d502c..bd76a44c846e 100644
2a4ee2
--- a/include/vcl/weld.hxx
2a4ee2
+++ b/include/vcl/weld.hxx
2a4ee2
@@ -147,11 +147,6 @@ public:
2a4ee2
     virtual void set_accessible_relation_labeled_by(weld::Widget* pLabel) = 0;
2a4ee2
     virtual void set_accessible_relation_label_for(weld::Widget* pLabeled) = 0;
2a4ee2
 
2a4ee2
-    virtual void
2a4ee2
-    add_extra_accessible_relation(const css::accessibility::AccessibleRelation& rRelation)
2a4ee2
-        = 0;
2a4ee2
-    virtual void clear_extra_accessible_relations() = 0;
2a4ee2
-
2a4ee2
     virtual void set_tooltip_text(const OUString& rTip) = 0;
2a4ee2
     virtual OUString get_tooltip_text() const = 0;
2a4ee2
 
2a4ee2
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
2a4ee2
index 3b28f9a503a0..a4965b2acab8 100644
2a4ee2
--- a/include/vcl/window.hxx
2a4ee2
+++ b/include/vcl/window.hxx
2a4ee2
@@ -1253,10 +1253,6 @@ public:
2a4ee2
     void                                SetAccessibleRelationMemberOf( vcl::Window* pMemberOf );
2a4ee2
     vcl::Window*                        GetAccessibleRelationMemberOf() const;
2a4ee2
 
2a4ee2
-    void                                AddExtraAccessibleRelation(const css::accessibility::AccessibleRelation &rRelation);
2a4ee2
-    const std::vector<css::accessibility::AccessibleRelation>& GetExtraAccessibleRelations() const;
2a4ee2
-    void                                ClearExtraAccessibleRelations();
2a4ee2
-
2a4ee2
     // to avoid sending accessibility events in cases like closing dialogs
2a4ee2
     // by default checks complete parent path
2a4ee2
     bool                                IsAccessibilityEventsSuppressed( bool bTraverseParentPath = true );
2a4ee2
diff --git a/sc/source/ui/Accessibility/AccessibleDocument.cxx b/sc/source/ui/Accessibility/AccessibleDocument.cxx
2a4ee2
index a63e419754be..8273d78dc8d3 100644
2a4ee2
--- a/sc/source/ui/Accessibility/AccessibleDocument.cxx
2a4ee2
+++ b/sc/source/ui/Accessibility/AccessibleDocument.cxx
2a4ee2
@@ -52,7 +52,6 @@
2a4ee2
 #include <svx/AccessibleShapeTreeInfo.hxx>
2a4ee2
 #include <svx/AccessibleShapeInfo.hxx>
2a4ee2
 #include <svx/IAccessibleParent.hxx>
2a4ee2
-#include <comphelper/accflowenum.hxx>
2a4ee2
 #include <comphelper/sequence.hxx>
2a4ee2
 #include <sfx2/viewfrm.hxx>
2a4ee2
 #include <sfx2/docfile.hxx>
2a4ee2
@@ -1607,13 +1606,6 @@ void SAL_CALL ScAccessibleDocument::selectionChanged( const lang::EventObject& /
2a4ee2
 
2a4ee2
 uno::Any SAL_CALL ScAccessibleDocument::queryInterface( uno::Type const & rType )
2a4ee2
 {
2a4ee2
-    uno::Any aAnyTmp;
2a4ee2
-    if(rType == cppu::UnoType<XAccessibleGetAccFlowTo>::get())
2a4ee2
-    {
2a4ee2
-         css::uno::Reference<XAccessibleGetAccFlowTo> AccFromXShape = this;
2a4ee2
-         aAnyTmp <<= AccFromXShape;
2a4ee2
-         return aAnyTmp;
2a4ee2
-    }
2a4ee2
     uno::Any aAny (ScAccessibleDocumentImpl::queryInterface(rType));
2a4ee2
     return aAny.hasValue() ? aAny : ScAccessibleContextBase::queryInterface(rType);
2a4ee2
 }
2a4ee2
@@ -2232,152 +2224,6 @@ uno::Any SAL_CALL ScAccessibleDocument::getExtendedAttributes()
2a4ee2
     return anyAtrribute;
2a4ee2
 }
2a4ee2
 
2a4ee2
-css::uno::Sequence< css::uno::Any > ScAccessibleDocument::GetScAccFlowToSequence()
2a4ee2
-{
2a4ee2
-    if ( getAccessibleChildCount() )
2a4ee2
-    {
2a4ee2
-        uno::Reference < XAccessible > xSCTableAcc = getAccessibleChild( 0 ); // table
2a4ee2
-        if ( xSCTableAcc.is() )
2a4ee2
-        {
2a4ee2
-            uno::Reference < XAccessibleSelection > xAccSelection( xSCTableAcc, uno::UNO_QUERY );
2a4ee2
-            sal_Int32 nSelCount = xAccSelection->getSelectedAccessibleChildCount();
2a4ee2
-            if( nSelCount )
2a4ee2
-            {
2a4ee2
-                uno::Reference < XAccessible > xSel = xAccSelection->getSelectedAccessibleChild( 0 ); // selected cell
2a4ee2
-                if ( xSel.is() )
2a4ee2
-                {
2a4ee2
-                    uno::Reference < XAccessibleContext > xSelContext( xSel->getAccessibleContext() );
2a4ee2
-                    if ( xSelContext.is() )
2a4ee2
-                    {
2a4ee2
-                        if ( xSelContext->getAccessibleRole() == AccessibleRole::TABLE_CELL )
2a4ee2
-                        {
2a4ee2
-                            sal_Int32 nParaCount = 0;
2a4ee2
-                            uno::Sequence <uno::Any> aSequence(nSelCount);
2a4ee2
-                            for ( sal_Int32 i = 0; i < nSelCount; i++ )
2a4ee2
-                            {
2a4ee2
-                                xSel = xAccSelection->getSelectedAccessibleChild( i )   ;
2a4ee2
-                                if ( xSel.is() )
2a4ee2
-                                {
2a4ee2
-                                    xSelContext = xSel->getAccessibleContext();
2a4ee2
-                                    if ( xSelContext.is() )
2a4ee2
-                                    {
2a4ee2
-                                        if ( xSelContext->getAccessibleRole() == AccessibleRole::TABLE_CELL )
2a4ee2
-                                        {
2a4ee2
-                                            aSequence[nParaCount] <<= xSel;
2a4ee2
-                                            nParaCount++;
2a4ee2
-                                        }
2a4ee2
-                                    }
2a4ee2
-                                }
2a4ee2
-                            }
2a4ee2
-                            return aSequence;
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-    }
2a4ee2
-    uno::Sequence <uno::Any> aEmpty;
2a4ee2
-    return aEmpty;
2a4ee2
-}
2a4ee2
-
2a4ee2
-css::uno::Sequence< css::uno::Any >
2a4ee2
-        SAL_CALL ScAccessibleDocument::getAccFlowTo(const css::uno::Any& rAny, sal_Int32 nType)
2a4ee2
-{
2a4ee2
-    SolarMutexGuard g;
2a4ee2
-
2a4ee2
-    if (nType == AccessibilityFlowTo::FORSPELLCHECKFLOWTO)
2a4ee2
-    {
2a4ee2
-        uno::Reference< css::drawing::XShape > xShape;
2a4ee2
-        rAny >>= xShape;
2a4ee2
-        if ( xShape.is() )
2a4ee2
-        {
2a4ee2
-            uno::Reference < XAccessible > xAcc = mpChildrenShapes->GetAccessibleCaption(xShape);
2a4ee2
-            uno::Reference < XAccessibleSelection > xAccSelection( xAcc, uno::UNO_QUERY );
2a4ee2
-            if ( xAccSelection.is() )
2a4ee2
-            {
2a4ee2
-                if ( xAccSelection->getSelectedAccessibleChildCount() )
2a4ee2
-                {
2a4ee2
-                    uno::Reference < XAccessible > xSel = xAccSelection->getSelectedAccessibleChild( 0 );
2a4ee2
-                    if ( xSel.is() )
2a4ee2
-                    {
2a4ee2
-                        uno::Reference < XAccessibleContext > xSelContext( xSel->getAccessibleContext() );
2a4ee2
-                        if ( xSelContext.is() )
2a4ee2
-                        {
2a4ee2
-                            //if in sw we find the selected paragraph here
2a4ee2
-                            if ( xSelContext->getAccessibleRole() == AccessibleRole::PARAGRAPH )
2a4ee2
-                            {
2a4ee2
-                                uno::Sequence<uno::Any> aRet( 1 );
2a4ee2
-                                aRet[0] <<= xSel;
2a4ee2
-                                return aRet;
2a4ee2
-                            }
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-        else
2a4ee2
-        {
2a4ee2
-            if ( getSelectedAccessibleChildCount() )
2a4ee2
-            {
2a4ee2
-                uno::Reference < XAccessible > xSel = getSelectedAccessibleChild( 0 );
2a4ee2
-                if ( xSel.is() )
2a4ee2
-                {
2a4ee2
-                    uno::Reference < XAccessibleContext > xSelContext( xSel->getAccessibleContext() );
2a4ee2
-                    if ( xSelContext.is() )
2a4ee2
-                    {
2a4ee2
-                        uno::Reference < XAccessibleSelection > xAccChildSelection( xSel, uno::UNO_QUERY );
2a4ee2
-                        if ( xAccChildSelection.is() )
2a4ee2
-                        {
2a4ee2
-                            if ( xAccChildSelection->getSelectedAccessibleChildCount() )
2a4ee2
-                            {
2a4ee2
-                                uno::Reference < XAccessible > xChildSel = xAccChildSelection->getSelectedAccessibleChild( 0 );
2a4ee2
-                                if ( xChildSel.is() )
2a4ee2
-                                {
2a4ee2
-                                    uno::Reference < css::accessibility::XAccessibleContext > xChildSelContext( xChildSel->getAccessibleContext() );
2a4ee2
-                                    if ( xChildSelContext.is() &&
2a4ee2
-                                        xChildSelContext->getAccessibleRole() == css::accessibility::AccessibleRole::PARAGRAPH )
2a4ee2
-                                    {
2a4ee2
-                                        uno::Sequence<uno::Any> aRet( 1 );
2a4ee2
-                                        aRet[0] <<= xChildSel;
2a4ee2
-                                        return aRet;
2a4ee2
-                                    }
2a4ee2
-                                }
2a4ee2
-                            }
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-    }
2a4ee2
-    else if (nType == AccessibilityFlowTo::FORFINDREPLACEFLOWTO_ITEM || nType == AccessibilityFlowTo::FORFINDREPLACEFLOWTO_RANGE)
2a4ee2
-    {
2a4ee2
-        bool bSuccess(false);
2a4ee2
-        rAny >>= bSuccess;
2a4ee2
-        if ( bSuccess )
2a4ee2
-        {
2a4ee2
-            if (nType == AccessibilityFlowTo::FORFINDREPLACEFLOWTO_RANGE)
2a4ee2
-            {
2a4ee2
-                uno::Sequence< uno::Any> aSeq = GetScAccFlowToSequence();
2a4ee2
-                if ( aSeq.hasElements() )
2a4ee2
-                {
2a4ee2
-                    return aSeq;
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-
2a4ee2
-            if( mpAccessibleSpreadsheet.is() )
2a4ee2
-            {
2a4ee2
-                uno::Reference < XAccessible > xFindCellAcc = mpAccessibleSpreadsheet->GetActiveCell();
2a4ee2
-                // add xFindCellAcc to the return the Sequence
2a4ee2
-                uno::Sequence< uno::Any> aSeq2(1);
2a4ee2
-                aSeq2[0] <<= xFindCellAcc;
2a4ee2
-                return aSeq2;
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-    }
2a4ee2
-    uno::Sequence< uno::Any> aEmpty;
2a4ee2
-    return aEmpty;
2a4ee2
-}
2a4ee2
-
2a4ee2
 sal_Int32 SAL_CALL ScAccessibleDocument::getForeground(  )
2a4ee2
 {
2a4ee2
     return sal_Int32(COL_BLACK);
2a4ee2
diff --git a/sc/source/ui/inc/AccessibleDocument.hxx b/sc/source/ui/inc/AccessibleDocument.hxx
2a4ee2
index c3441465121c..e2598051974c 100644
2a4ee2
--- a/sc/source/ui/inc/AccessibleDocument.hxx
2a4ee2
+++ b/sc/source/ui/inc/AccessibleDocument.hxx
2a4ee2
@@ -26,7 +26,6 @@
2a4ee2
 #include <com/sun/star/view/XSelectionChangeListener.hpp>
2a4ee2
 #include <cppuhelper/implbase3.hxx>
2a4ee2
 #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
2a4ee2
-#include <com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp>
2a4ee2
 #include <svx/IAccessibleViewForwarder.hxx>
2a4ee2
 
2a4ee2
 class ScTabViewShell;
2a4ee2
@@ -52,7 +51,6 @@ typedef cppu::ImplHelper3< css::accessibility::XAccessibleSelection,
2a4ee2
 class ScAccessibleDocument
2a4ee2
     :   public ScAccessibleDocumentBase,
2a4ee2
         public ScAccessibleDocumentImpl,
2a4ee2
-        public css::accessibility::XAccessibleGetAccFlowTo,
2a4ee2
         public accessibility::IAccessibleViewForwarder
2a4ee2
 {
2a4ee2
 public:
2a4ee2
@@ -257,11 +255,8 @@ private:
2a4ee2
 public:
2a4ee2
     ScDocument *GetDocument() const ;
2a4ee2
     ScAddress   GetCurCellAddress() const;
2a4ee2
-    //=====  XAccessibleGetAccFromXShape  ============================================
2a4ee2
-    css::uno::Sequence< css::uno::Any >
2a4ee2
-        SAL_CALL getAccFlowTo(const css::uno::Any& rAny, sal_Int32 nType) override;
2a4ee2
 
2a4ee2
-     virtual sal_Int32 SAL_CALL getForeground(  ) override;
2a4ee2
+    virtual sal_Int32 SAL_CALL getForeground(  ) override;
2a4ee2
 
2a4ee2
     virtual sal_Int32 SAL_CALL getBackground(  ) override;
2a4ee2
 };
2a4ee2
diff --git a/sc/source/ui/view/tabvwshe.cxx b/sc/source/ui/view/tabvwshe.cxx
2a4ee2
index 516cb11e3cba..23e84b6f6dfe 100644
2a4ee2
--- a/sc/source/ui/view/tabvwshe.cxx
2a4ee2
+++ b/sc/source/ui/view/tabvwshe.cxx
2a4ee2
@@ -232,26 +232,7 @@ void ScTabViewShell::ExecSearch( SfxRequest& rReq )
2a4ee2
                     const SvxSearchItem* pSearchItem = static_cast<const SvxSearchItem*>(pItem);
2a4ee2
 
2a4ee2
                     ScGlobal::SetSearchItem( *pSearchItem );
2a4ee2
-                    bool bSuccess = SearchAndReplace( pSearchItem, true, rReq.IsAPI() );
2a4ee2
-                    SfxChildWindow* pChildWindow = SfxViewFrame::Current()->GetChildWindow(
2a4ee2
-                            SvxSearchDialogWrapper::GetChildWindowId());
2a4ee2
-                    if (pChildWindow)
2a4ee2
-                    {
2a4ee2
-                        SvxSearchDialog* pSearchDlg = static_cast<SvxSearchDialog*>(pChildWindow->GetController().get());
2a4ee2
-                        if( pSearchDlg )
2a4ee2
-                        {
2a4ee2
-                            ScTabView* pTabView = GetViewData().GetView();
2a4ee2
-                            if( pTabView )
2a4ee2
-                            {
2a4ee2
-                                vcl::Window* pWin = pTabView->GetActiveWin();
2a4ee2
-                                if( pWin )
2a4ee2
-                                {
2a4ee2
-                                    pSearchDlg->SetDocWin( pWin, pSearchItem->GetCommand() );
2a4ee2
-                                    pSearchDlg->SetSrchFlag( bSuccess );
2a4ee2
-                                }
2a4ee2
-                            }
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
+                    SearchAndReplace( pSearchItem, true, rReq.IsAPI() );
2a4ee2
                     rReq.Done();
2a4ee2
                 }
2a4ee2
             }
2a4ee2
@@ -303,25 +284,6 @@ void ScTabViewShell::ExecSearch( SfxRequest& rReq )
2a4ee2
                             rReq.IsAPI() ? SfxCallMode::API|SfxCallMode::SYNCHRON :
2a4ee2
                                             SfxCallMode::RECORD,
2a4ee2
                             { &aSearchItem });
2a4ee2
-                    SfxChildWindow* pChildWindow = SfxViewFrame::Current()->GetChildWindow(
2a4ee2
-                            SvxSearchDialogWrapper::GetChildWindowId());
2a4ee2
-                    if (pChildWindow)
2a4ee2
-                    {
2a4ee2
-                        SvxSearchDialog* pSearchDlg = static_cast<SvxSearchDialog*>(pChildWindow->GetController().get());
2a4ee2
-                        if( pSearchDlg )
2a4ee2
-                        {
2a4ee2
-                            ScTabView* pTabView = GetViewData().GetView();
2a4ee2
-                            if( pTabView )
2a4ee2
-                            {
2a4ee2
-                                vcl::Window* pWin = pTabView->GetActiveWin();
2a4ee2
-                                if( pWin )
2a4ee2
-                                {
2a4ee2
-                                    pSearchDlg->SetDocWin( pWin, aSearchItem.GetCommand() );
2a4ee2
-                                    pSearchDlg->SetSrchFlag(false);
2a4ee2
-                                }
2a4ee2
-                            }
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
                 }
2a4ee2
                 else
2a4ee2
                 {
2a4ee2
diff --git a/sd/IwyuFilter_sd.yaml b/sd/IwyuFilter_sd.yaml
2a4ee2
index 930f081dd117..f1573298c194 100644
2a4ee2
--- a/sd/IwyuFilter_sd.yaml
2a4ee2
+++ b/sd/IwyuFilter_sd.yaml
2a4ee2
@@ -145,7 +145,6 @@ blacklist:
2a4ee2
     sd/source/ui/inc/AccessibleDocumentViewBase.hxx:
2a4ee2
     # base class has to be a complete type
2a4ee2
     - com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp
2a4ee2
-    - com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp
2a4ee2
     - com/sun/star/awt/XFocusListener.hpp
2a4ee2
     - com/sun/star/awt/XWindowListener.hpp
2a4ee2
     - com/sun/star/beans/XPropertyChangeListener.hpp
2a4ee2
diff --git a/sd/source/ui/accessibility/AccessibleDocumentViewBase.cxx b/sd/source/ui/accessibility/AccessibleDocumentViewBase.cxx
2a4ee2
index c271e70718cb..60cff2911b8b 100644
2a4ee2
--- a/sd/source/ui/accessibility/AccessibleDocumentViewBase.cxx
2a4ee2
+++ b/sd/source/ui/accessibility/AccessibleDocumentViewBase.cxx
2a4ee2
@@ -381,7 +381,6 @@ uno::Any SAL_CALL
2a4ee2
             static_cast<awt::XWindowListener*>(this),
2a4ee2
             static_cast<awt::XFocusListener*>(this)
2a4ee2
            ,static_cast<XAccessibleExtendedAttributes*>(this)
2a4ee2
-           ,static_cast<XAccessibleGetAccFlowTo*>(this)
2a4ee2
             );
2a4ee2
     return aReturn;
2a4ee2
 }
2a4ee2
@@ -765,14 +764,6 @@ uno::Any SAL_CALL AccessibleDocumentViewBase::getExtendedAttributes()
2a4ee2
     return anyAtrribute;
2a4ee2
 }
2a4ee2
 
2a4ee2
-css::uno::Sequence< css::uno::Any >
2a4ee2
-        SAL_CALL AccessibleDocumentViewBase::getAccFlowTo(const css::uno::Any&, sal_Int32 )
2a4ee2
-{
2a4ee2
-    css::uno::Sequence< uno::Any> aRet;
2a4ee2
-
2a4ee2
-    return aRet;
2a4ee2
-}
2a4ee2
-
2a4ee2
 sal_Int32 SAL_CALL AccessibleDocumentViewBase::getForeground(  )
2a4ee2
 {
2a4ee2
     return sal_Int32(COL_BLACK);
2a4ee2
diff --git a/sd/source/ui/accessibility/AccessibleDrawDocumentView.cxx b/sd/source/ui/accessibility/AccessibleDrawDocumentView.cxx
2a4ee2
index e178d93e7baf..6b644bc439d7 100644
2a4ee2
--- a/sd/source/ui/accessibility/AccessibleDrawDocumentView.cxx
2a4ee2
+++ b/sd/source/ui/accessibility/AccessibleDrawDocumentView.cxx
2a4ee2
@@ -30,7 +30,6 @@
2a4ee2
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
2a4ee2
 #include <com/sun/star/view/XSelectionSupplier.hpp>
2a4ee2
 #include <cppuhelper/queryinterface.hxx>
2a4ee2
-#include <comphelper/accflowenum.hxx>
2a4ee2
 #include <comphelper/processfactory.hxx>
2a4ee2
 #include <sal/log.hxx>
2a4ee2
 #include <tools/debug.hxx>
2a4ee2
@@ -739,156 +738,6 @@ void SAL_CALL AccessibleDrawDocumentView::disposing()
2a4ee2
     AccessibleDocumentViewBase::disposing ();
2a4ee2
 }
2a4ee2
 
2a4ee2
-css::uno::Sequence< css::uno::Any >
2a4ee2
-        SAL_CALL AccessibleDrawDocumentView::getAccFlowTo(const css::uno::Any& rAny, sal_Int32 nType)
2a4ee2
-{
2a4ee2
-    SolarMutexGuard g;
2a4ee2
-
2a4ee2
-    if (nType == AccessibilityFlowTo::FORSPELLCHECKFLOWTO)
2a4ee2
-    {
2a4ee2
-        uno::Reference< css::drawing::XShape > xShape;
2a4ee2
-        rAny >>= xShape;
2a4ee2
-        if ( mpChildrenManager && xShape.is() )
2a4ee2
-        {
2a4ee2
-            uno::Reference < XAccessible > xAcc = mpChildrenManager->GetChild(xShape);
2a4ee2
-            uno::Reference < XAccessibleSelection > xAccSelection( xAcc, uno::UNO_QUERY );
2a4ee2
-            if ( xAccSelection.is() )
2a4ee2
-            {
2a4ee2
-                if ( xAccSelection->getSelectedAccessibleChildCount() )
2a4ee2
-                {
2a4ee2
-                    uno::Reference < XAccessible > xSel = xAccSelection->getSelectedAccessibleChild( 0 );
2a4ee2
-                    if ( xSel.is() )
2a4ee2
-                    {
2a4ee2
-                        uno::Reference < XAccessibleContext > xSelContext( xSel->getAccessibleContext() );
2a4ee2
-                        if ( xSelContext.is() )
2a4ee2
-                        {
2a4ee2
-                            //if in sw we find the selected paragraph here
2a4ee2
-                            if ( xSelContext->getAccessibleRole() == AccessibleRole::PARAGRAPH )
2a4ee2
-                            {
2a4ee2
-                                uno::Sequence<uno::Any> aRet( 1 );
2a4ee2
-                                aRet[0] <<= xSel;
2a4ee2
-                                return aRet;
2a4ee2
-                            }
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-            uno::Reference<XAccessible> xPara = GetSelAccContextInTable();
2a4ee2
-            if ( xPara.is() )
2a4ee2
-            {
2a4ee2
-                uno::Sequence<uno::Any> aRet( 1 );
2a4ee2
-                aRet[0] <<= xPara;
2a4ee2
-                return aRet;
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-        else
2a4ee2
-        {
2a4ee2
-            goto Rt;
2a4ee2
-        }
2a4ee2
-    }
2a4ee2
-    else if (nType == AccessibilityFlowTo::FORFINDREPLACEFLOWTO_ITEM || nType == AccessibilityFlowTo::FORFINDREPLACEFLOWTO_RANGE)
2a4ee2
-    {
2a4ee2
-        sal_Int32 nChildCount = getSelectedAccessibleChildCount();
2a4ee2
-        if ( nChildCount )
2a4ee2
-        {
2a4ee2
-            uno::Reference < XAccessible > xSel = getSelectedAccessibleChild( 0 );
2a4ee2
-            if ( xSel.is() )
2a4ee2
-            {
2a4ee2
-                uno::Reference < XAccessibleSelection > xAccChildSelection( xSel, uno::UNO_QUERY );
2a4ee2
-                if ( xAccChildSelection.is() )
2a4ee2
-                {
2a4ee2
-                    if ( xAccChildSelection->getSelectedAccessibleChildCount() )
2a4ee2
-                    {
2a4ee2
-                        uno::Reference < XAccessible > xChildSel = xAccChildSelection->getSelectedAccessibleChild( 0 );
2a4ee2
-                        if ( xChildSel.is() )
2a4ee2
-                        {
2a4ee2
-                            uno::Reference < XAccessibleContext > xChildSelContext( xChildSel->getAccessibleContext() );
2a4ee2
-                            if ( xChildSelContext.is() &&
2a4ee2
-                                xChildSelContext->getAccessibleRole() == AccessibleRole::PARAGRAPH )
2a4ee2
-                            {
2a4ee2
-                                uno::Sequence<uno::Any> aRet( 1 );
2a4ee2
-                                aRet[0] <<= xChildSel;
2a4ee2
-                                return aRet;
2a4ee2
-                            }
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-        else
2a4ee2
-        {
2a4ee2
-            uno::Reference<XAccessible> xPara = GetSelAccContextInTable();
2a4ee2
-            if ( xPara.is() )
2a4ee2
-            {
2a4ee2
-                uno::Sequence<uno::Any> aRet( 1 );
2a4ee2
-                aRet[0] <<= xPara;
2a4ee2
-                return aRet;
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-    }
2a4ee2
-
2a4ee2
-Rt:
2a4ee2
-    css::uno::Sequence< uno::Any> aRet;
2a4ee2
-    return aRet;
2a4ee2
-}
2a4ee2
-uno::Reference<XAccessible> AccessibleDrawDocumentView::GetSelAccContextInTable()
2a4ee2
-{
2a4ee2
-    uno::Reference<XAccessible> xRet;
2a4ee2
-    sal_Int32 nCount = mpChildrenManager ? mpChildrenManager->GetChildCount() : 0;
2a4ee2
-    if ( nCount )
2a4ee2
-    {
2a4ee2
-        for ( sal_Int32 i = 0; i < nCount; i++ )
2a4ee2
-        {
2a4ee2
-            try
2a4ee2
-            {
2a4ee2
-                uno::Reference<XAccessible> xObj = mpChildrenManager->GetChild(i);
2a4ee2
-                if ( xObj.is() )
2a4ee2
-                {
2a4ee2
-                    uno::Reference<XAccessibleContext> xObjContext( xObj, uno::UNO_QUERY );
2a4ee2
-                    if ( xObjContext.is() && xObjContext->getAccessibleRole() == AccessibleRole::TABLE )
2a4ee2
-                    {
2a4ee2
-                        uno::Reference<XAccessibleSelection> xObjSelection( xObj, uno::UNO_QUERY );
2a4ee2
-                        if ( xObjSelection.is() && xObjSelection->getSelectedAccessibleChildCount() )
2a4ee2
-                        {
2a4ee2
-                            uno::Reference<XAccessible> xCell = xObjSelection->getSelectedAccessibleChild(0);
2a4ee2
-                            if ( xCell.is() )
2a4ee2
-                            {
2a4ee2
-                                uno::Reference<XAccessibleSelection> xCellSel( xCell, uno::UNO_QUERY );
2a4ee2
-                                if ( xCellSel.is() && xCellSel->getSelectedAccessibleChildCount() )
2a4ee2
-                                {
2a4ee2
-                                    uno::Reference<XAccessible> xPara = xCellSel->getSelectedAccessibleChild( 0 );
2a4ee2
-                                    if ( xPara.is() )
2a4ee2
-                                    {
2a4ee2
-                                        uno::Reference<XAccessibleContext> xParaContext( xPara, uno::UNO_QUERY );
2a4ee2
-                                        if ( xParaContext.is() &&
2a4ee2
-                                            xParaContext->getAccessibleRole() == AccessibleRole::PARAGRAPH )
2a4ee2
-                                        {
2a4ee2
-                                            xRet = xPara;
2a4ee2
-                                            return xRet;
2a4ee2
-                                        }
2a4ee2
-                                    }
2a4ee2
-                                }
2a4ee2
-                            }
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-            catch (const lang::IndexOutOfBoundsException&)
2a4ee2
-            {
2a4ee2
-                uno::Reference<XAccessible> xEmpty;
2a4ee2
-                return xEmpty;
2a4ee2
-            }
2a4ee2
-            catch (const uno::RuntimeException&)
2a4ee2
-            {
2a4ee2
-                uno::Reference<XAccessible> xEmpty;
2a4ee2
-                return xEmpty;
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-    }
2a4ee2
-
2a4ee2
-    return xRet;
2a4ee2
-}
2a4ee2
-
2a4ee2
 void AccessibleDrawDocumentView::UpdateAccessibleName()
2a4ee2
 {
2a4ee2
     OUString sNewName (CreateAccessibleName());
2a4ee2
diff --git a/sd/source/ui/inc/AccessibleDocumentViewBase.hxx b/sd/source/ui/inc/AccessibleDocumentViewBase.hxx
2a4ee2
index ee2acf119ce4..b29cc9533757 100644
2a4ee2
--- a/sd/source/ui/inc/AccessibleDocumentViewBase.hxx
2a4ee2
+++ b/sd/source/ui/inc/AccessibleDocumentViewBase.hxx
2a4ee2
@@ -33,7 +33,6 @@
2a4ee2
 #include <tools/link.hxx>
2a4ee2
 
2a4ee2
 #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
2a4ee2
-#include <com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp>
2a4ee2
 
2a4ee2
 #include "Window.hxx"
2a4ee2
 
2a4ee2
@@ -87,8 +86,7 @@ class AccessibleDocumentViewBase
2a4ee2
         public css::beans::XPropertyChangeListener,
2a4ee2
         public css::awt::XWindowListener,
2a4ee2
         public css::awt::XFocusListener,
2a4ee2
-        public css::accessibility::XAccessibleExtendedAttributes,
2a4ee2
-        public css::accessibility::XAccessibleGetAccFlowTo
2a4ee2
+        public css::accessibility::XAccessibleExtendedAttributes
2a4ee2
 {
2a4ee2
 public:
2a4ee2
     //=====  internal  ========================================================
2a4ee2
@@ -313,9 +311,6 @@ protected:
2a4ee2
     */
2a4ee2
     void SetAccessibleOLEObject (
2a4ee2
         const css::uno::Reference<css::accessibility::XAccessible>& xOLEObject);
2a4ee2
-    //=====  XAccessibleGetAccFromXShape  ============================================
2a4ee2
-    css::uno::Sequence< css::uno::Any >
2a4ee2
-        SAL_CALL getAccFlowTo(const css::uno::Any& rAny, sal_Int32 nType) override;
2a4ee2
 
2a4ee2
 public:
2a4ee2
     void SwitchViewActivated() { Activated(); }
2a4ee2
diff --git a/sd/source/ui/inc/AccessibleDrawDocumentView.hxx b/sd/source/ui/inc/AccessibleDrawDocumentView.hxx
2a4ee2
index fd8b42f7161f..15097459bf76 100644
2a4ee2
--- a/sd/source/ui/inc/AccessibleDrawDocumentView.hxx
2a4ee2
+++ b/sd/source/ui/inc/AccessibleDrawDocumentView.hxx
2a4ee2
@@ -158,12 +158,6 @@ private:
2a4ee2
 
2a4ee2
     virtual void impl_dispose() override;
2a4ee2
 
2a4ee2
-    //=====  XAccessibleGetAccFromXShape  ============================================
2a4ee2
-    css::uno::Sequence< css::uno::Any >
2a4ee2
-        SAL_CALL getAccFlowTo(const css::uno::Any& rAny, sal_Int32 nType) override;
2a4ee2
-    css::uno::Reference< css::accessibility::XAccessible >
2a4ee2
-        GetSelAccContextInTable();
2a4ee2
-
2a4ee2
     void UpdateAccessibleName();
2a4ee2
 };
2a4ee2
 
2a4ee2
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
2a4ee2
index f2094296fa0f..71e4391e3d7a 100644
2a4ee2
--- a/sd/source/ui/view/Outliner.cxx
2a4ee2
+++ b/sd/source/ui/view/Outliner.cxx
2a4ee2
@@ -501,17 +501,6 @@ bool SdOutliner::StartSearchAndReplace (const SvxSearchItem* pSearchItem)
2a4ee2
             }
2a4ee2
             mnStartPageIndex = sal_uInt16(-1);
2a4ee2
         }
2a4ee2
-
2a4ee2
-        SfxChildWindow *pChildWin =
2a4ee2
-            SfxViewFrame::Current()->GetChildWindow(
2a4ee2
-            SvxSearchDialogWrapper::GetChildWindowId());
2a4ee2
-        if (pChildWin)
2a4ee2
-        {
2a4ee2
-            SvxSearchDialog* pSearchDlg =
2a4ee2
-                static_cast<SvxSearchDialog*>(pChildWin->GetController().get());
2a4ee2
-            pSearchDlg->SetDocWin( pViewShell->GetActiveWindow(), nCommand );
2a4ee2
-            pSearchDlg->SetSrchFlag(false);
2a4ee2
-        }
2a4ee2
     }
2a4ee2
     else
2a4ee2
         mpDrawDocument->GetDocSh()->SetWaitCursor( false );
2a4ee2
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
2a4ee2
index 445bc318718b..7501bcb6f9fd 100644
2a4ee2
--- a/svx/source/dialog/srchdlg.cxx
2a4ee2
+++ b/svx/source/dialog/srchdlg.cxx
2a4ee2
@@ -36,9 +36,6 @@
2a4ee2
 #include <svl/cjkoptions.hxx>
2a4ee2
 #include <svl/ctloptions.hxx>
2a4ee2
 #include <com/sun/star/awt/XWindow.hpp>
2a4ee2
-#include <com/sun/star/accessibility/AccessibleRelation.hpp>
2a4ee2
-#include <com/sun/star/accessibility/AccessibleRelationType.hpp>
2a4ee2
-#include <com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp>
2a4ee2
 #include <com/sun/star/container/XNameAccess.hpp>
2a4ee2
 #include <com/sun/star/frame/XDispatch.hpp>
2a4ee2
 #include <com/sun/star/frame/XDispatchProvider.hpp>
2a4ee2
@@ -48,7 +45,6 @@
2a4ee2
 #include <com/sun/star/configuration/theDefaultProvider.hpp>
2a4ee2
 #include <com/sun/star/frame/ModuleManager.hpp>
2a4ee2
 #include <com/sun/star/ui/XUIElement.hpp>
2a4ee2
-#include <comphelper/accflowenum.hxx>
2a4ee2
 #include <comphelper/processfactory.hxx>
2a4ee2
 #include <comphelper/scopeguard.hxx>
2a4ee2
 #include <svl/itempool.hxx>
2a4ee2
@@ -263,7 +259,6 @@ void SearchAttrItemList::Remove(size_t nPos)
2a4ee2
 SvxSearchDialog::SvxSearchDialog(weld::Window* pParent, SfxChildWindow* pChildWin, SfxBindings& rBind)
2a4ee2
     : SfxModelessDialogController(&rBind, pChildWin, pParent,
2a4ee2
                                   "svx/ui/findreplacedialog.ui", "FindReplaceDialog")
2a4ee2
-    , mbSuccess(false)
2a4ee2
     , rBindings(rBind)
2a4ee2
     , bWriter(false)
2a4ee2
     , bSearch(true)
2a4ee2
@@ -2292,58 +2287,6 @@ void SvxSearchDialog::SaveToModule_Impl()
2a4ee2
     rBindings.GetDispatcher()->Execute( SID_SEARCH_ITEM, SfxCallMode::SLOT, ppArgs );
2a4ee2
 }
2a4ee2
 
2a4ee2
-void SvxSearchDialog::SetDocWin(vcl::Window* pDocWin, SvxSearchCmd eCommand)
2a4ee2
-{
2a4ee2
-    m_xDialog->clear_extra_accessible_relations();
2a4ee2
-
2a4ee2
-    if (!pDocWin)
2a4ee2
-        return;
2a4ee2
-
2a4ee2
-    Reference<css::accessibility::XAccessible> xDocAcc = pDocWin->GetAccessible();
2a4ee2
-    if (!xDocAcc.is())
2a4ee2
-    {
2a4ee2
-        return;
2a4ee2
-    }
2a4ee2
-    Reference<css::accessibility::XAccessibleGetAccFlowTo> xGetAccFlowTo(xDocAcc, UNO_QUERY);
2a4ee2
-    if (!xGetAccFlowTo.is())
2a4ee2
-    {
2a4ee2
-        return;
2a4ee2
-    }
2a4ee2
-
2a4ee2
-    /* tdf#128313 FlowTo tries to set an a11y relation between the search dialog
2a4ee2
-       and its results. But for "find/replace" within a calc column we don't
2a4ee2
-       want to return the entire column as the result, we want the current cell.
2a4ee2
-
2a4ee2
-       But with search/all we do want the new multi-cellselection as the result.
2a4ee2
-    */
2a4ee2
-    AccessibilityFlowTo eFlowTo(AccessibilityFlowTo::FORFINDREPLACEFLOWTO_ITEM);
2a4ee2
-    switch (eCommand)
2a4ee2
-    {
2a4ee2
-        case SvxSearchCmd::FIND:
2a4ee2
-        case SvxSearchCmd::REPLACE:
2a4ee2
-            eFlowTo = AccessibilityFlowTo::FORFINDREPLACEFLOWTO_ITEM;
2a4ee2
-            break;
2a4ee2
-        case SvxSearchCmd::FIND_ALL:
2a4ee2
-        case SvxSearchCmd::REPLACE_ALL:
2a4ee2
-            eFlowTo = AccessibilityFlowTo::FORFINDREPLACEFLOWTO_RANGE;
2a4ee2
-            break;
2a4ee2
-    }
2a4ee2
-    uno::Sequence<uno::Any> aAnySeq = xGetAccFlowTo->getAccFlowTo(Any(GetSrchFlag()), eFlowTo);
2a4ee2
-
2a4ee2
-    sal_Int32 nLen = aAnySeq.getLength();
2a4ee2
-    if (nLen)
2a4ee2
-    {
2a4ee2
-        uno::Sequence<uno::Reference<uno::XInterface>> aSequence(nLen);
2a4ee2
-        for (sal_Int32 i = 0; i < nLen; ++i)
2a4ee2
-        {
2a4ee2
-            uno::Reference < css::accessibility::XAccessible > xAcc;
2a4ee2
-            aAnySeq[i] >>= xAcc;
2a4ee2
-            aSequence[i] = xAcc;
2a4ee2
-        }
2a4ee2
-        m_xDialog->add_extra_accessible_relation(css::accessibility::AccessibleRelation(css::accessibility::AccessibleRelationType::CONTENT_FLOWS_TO, aSequence));
2a4ee2
-    }
2a4ee2
-}
2a4ee2
-
2a4ee2
 short SvxSearchDialog::executeSubDialog(VclAbstractDialog * dialog) {
2a4ee2
     assert(!m_executingSubDialog);
2a4ee2
     comphelper::ScopeGuard g([this] { m_executingSubDialog = false; });
2a4ee2
diff --git a/sw/source/core/access/accdoc.cxx b/sw/source/core/access/accdoc.cxx
2a4ee2
index 4f7f2a81a158..827e4ba0ad16 100644
2a4ee2
--- a/sw/source/core/access/accdoc.cxx
2a4ee2
+++ b/sw/source/core/access/accdoc.cxx
2a4ee2
@@ -24,7 +24,6 @@
2a4ee2
 #include <com/sun/star/accessibility/AccessibleStateType.hpp>
2a4ee2
 #include <com/sun/star/accessibility/AccessibleEventId.hpp>
2a4ee2
 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
2a4ee2
-#include <comphelper/accflowenum.hxx>
2a4ee2
 #include <unotools/accessiblestatesethelper.hxx>
2a4ee2
 #include <cppuhelper/typeprovider.hxx>
2a4ee2
 #include <sfx2/viewsh.hxx>
2a4ee2
@@ -459,11 +458,6 @@ uno::Any SwAccessibleDocument::queryInterface(
2a4ee2
         uno::Reference<XAccessibleExtendedAttributes> aAttribute = this;
2a4ee2
         aRet <<= aAttribute;
2a4ee2
     }
2a4ee2
-    else if(rType == cppu::UnoType<XAccessibleGetAccFlowTo>::get())
2a4ee2
-    {
2a4ee2
-        uno::Reference<XAccessibleGetAccFlowTo> AccFlowTo = this;
2a4ee2
-        aRet <<= AccFlowTo;
2a4ee2
-    }
2a4ee2
     else
2a4ee2
         aRet = SwAccessibleContext::queryInterface( rType );
2a4ee2
     return aRet;
2a4ee2
@@ -758,119 +752,4 @@ sal_Int32 SAL_CALL SwAccessibleDocument::getBackground()
2a4ee2
     return sal_Int32(SW_MOD()->GetColorConfig().GetColorValue( ::svtools::DOCCOLOR ).nColor);
2a4ee2
 }
2a4ee2
 
2a4ee2
-css::uno::Sequence< css::uno::Any >
2a4ee2
-        SAL_CALL SwAccessibleDocument::getAccFlowTo(const css::uno::Any& rAny, sal_Int32 nType)
2a4ee2
-{
2a4ee2
-    SolarMutexGuard g;
2a4ee2
-
2a4ee2
-    SwAccessibleMap* pAccMap = GetMap();
2a4ee2
-    if ( !pAccMap )
2a4ee2
-    {
2a4ee2
-        return uno::Sequence< uno::Any >();
2a4ee2
-    }
2a4ee2
-
2a4ee2
-    if (nType == AccessibilityFlowTo::FORSPELLCHECKFLOWTO)
2a4ee2
-    {
2a4ee2
-        uno::Reference< css::drawing::XShape > xShape;
2a4ee2
-        rAny >>= xShape;
2a4ee2
-        if( xShape.is() )
2a4ee2
-        {
2a4ee2
-            SdrObject* pObj = GetSdrObjectFromXShape(xShape);
2a4ee2
-            if( pObj )
2a4ee2
-            {
2a4ee2
-                uno::Reference<XAccessible> xAcc = pAccMap->GetContext(pObj, this, false);
2a4ee2
-                uno::Reference < XAccessibleSelection > xAccSelection( xAcc, uno::UNO_QUERY );
2a4ee2
-                if ( xAccSelection.is() )
2a4ee2
-                {
2a4ee2
-                    try
2a4ee2
-                    {
2a4ee2
-                        if ( xAccSelection->getSelectedAccessibleChildCount() )
2a4ee2
-                        {
2a4ee2
-                            uno::Reference < XAccessible > xSel = xAccSelection->getSelectedAccessibleChild( 0 );
2a4ee2
-                            if ( xSel.is() )
2a4ee2
-                            {
2a4ee2
-                                uno::Reference < XAccessibleContext > xSelContext( xSel->getAccessibleContext() );
2a4ee2
-                                if ( xSelContext.is() )
2a4ee2
-                                {
2a4ee2
-                                    //if in sw we find the selected paragraph here
2a4ee2
-                                    if ( xSelContext->getAccessibleRole() == AccessibleRole::PARAGRAPH )
2a4ee2
-                                    {
2a4ee2
-                                        uno::Sequence<uno::Any> aRet( 1 );
2a4ee2
-                                        aRet[0] <<= xSel;
2a4ee2
-                                        return aRet;
2a4ee2
-                                    }
2a4ee2
-                                }
2a4ee2
-                            }
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
-                    catch ( const css::lang::IndexOutOfBoundsException& )
2a4ee2
-                    {
2a4ee2
-                        return uno::Sequence< uno::Any >();
2a4ee2
-                    }
2a4ee2
-                    //end of try...catch
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-        else
2a4ee2
-        {
2a4ee2
-            uno::Reference< XAccessible > xAcc = pAccMap->GetCursorContext();
2a4ee2
-            SwAccessibleContext *pAccImpl = static_cast< SwAccessibleContext *>( xAcc.get() );
2a4ee2
-            if ( pAccImpl && pAccImpl->getAccessibleRole() == AccessibleRole::PARAGRAPH )
2a4ee2
-            {
2a4ee2
-                uno::Sequence< uno::Any > aRet(1);
2a4ee2
-                aRet[0] <<= xAcc;
2a4ee2
-                return aRet;
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-    }
2a4ee2
-    else if (nType == AccessibilityFlowTo::FORFINDREPLACEFLOWTO_ITEM || nType == AccessibilityFlowTo::FORFINDREPLACEFLOWTO_RANGE)
2a4ee2
-    {
2a4ee2
-        SwCursorShell* pCursorShell = GetCursorShell();
2a4ee2
-        if ( pCursorShell )
2a4ee2
-        {
2a4ee2
-            SwPaM *_pStartCursor = pCursorShell->GetCursor(), *_pStartCursor2 = _pStartCursor;
2a4ee2
-            std::set<SwFrame*> vFrameList;
2a4ee2
-            do
2a4ee2
-            {
2a4ee2
-                if ( _pStartCursor && _pStartCursor->HasMark() )
2a4ee2
-                {
2a4ee2
-                    SwContentNode* pContentNode = _pStartCursor->GetContentNode();
2a4ee2
-                    SwFrame *const pFrame = pContentNode
2a4ee2
-                        ? pContentNode->getLayoutFrame(pCursorShell->GetLayout(), _pStartCursor->GetPoint())
2a4ee2
-                        : nullptr;
2a4ee2
-                    if ( pFrame )
2a4ee2
-                    {
2a4ee2
-                        vFrameList.insert( pFrame );
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-            }
2a4ee2
-
2a4ee2
-            while( _pStartCursor && ( (_pStartCursor = _pStartCursor->GetNext()) != _pStartCursor2) );
2a4ee2
-
2a4ee2
-            if ( !vFrameList.empty() )
2a4ee2
-            {
2a4ee2
-                uno::Sequence< uno::Any > aRet(vFrameList.size());
2a4ee2
-                sal_Int32 nIndex = 0;
2a4ee2
-                for ( const auto& rpFrame : vFrameList )
2a4ee2
-                {
2a4ee2
-                    uno::Reference< XAccessible > xAcc = pAccMap->GetContext(rpFrame, false);
2a4ee2
-                    if ( xAcc.is() )
2a4ee2
-                    {
2a4ee2
-                        SwAccessibleContext *pAccImpl = static_cast< SwAccessibleContext *>( xAcc.get() );
2a4ee2
-                        if ( pAccImpl && pAccImpl->getAccessibleRole() == AccessibleRole::PARAGRAPH )
2a4ee2
-                        {
2a4ee2
-                            aRet[nIndex] <<= xAcc;
2a4ee2
-                        }
2a4ee2
-                    }
2a4ee2
-                    nIndex++;
2a4ee2
-                }
2a4ee2
-
2a4ee2
-                return aRet;
2a4ee2
-            }
2a4ee2
-        }
2a4ee2
-    }
2a4ee2
-
2a4ee2
-    return uno::Sequence< uno::Any >();
2a4ee2
-}
2a4ee2
-
2a4ee2
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
2a4ee2
diff --git a/sw/source/core/access/accdoc.hxx b/sw/source/core/access/accdoc.hxx
2a4ee2
index e815ebf3682d..3dc43bc6b6eb 100644
2a4ee2
--- a/sw/source/core/access/accdoc.hxx
2a4ee2
+++ b/sw/source/core/access/accdoc.hxx
2a4ee2
@@ -23,7 +23,6 @@
2a4ee2
 #include "acccontext.hxx"
2a4ee2
 #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
2a4ee2
 #include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
2a4ee2
-#include <com/sun/star/accessibility/XAccessibleGetAccFlowTo.hpp>
2a4ee2
 #include "accselectionhelper.hxx"
2a4ee2
 
2a4ee2
 // base class for SwAccessibleDocument (in this same header file) and
2a4ee2
@@ -92,8 +91,7 @@ public:
2a4ee2
  */
2a4ee2
 class SwAccessibleDocument : public SwAccessibleDocumentBase,
2a4ee2
                              public css::accessibility::XAccessibleSelection,
2a4ee2
-                             public css::accessibility::XAccessibleExtendedAttributes,
2a4ee2
-                             public css::accessibility::XAccessibleGetAccFlowTo
2a4ee2
+                             public css::accessibility::XAccessibleExtendedAttributes
2a4ee2
 {
2a4ee2
     // Implementation for XAccessibleSelection interface
2a4ee2
     SwAccessibleSelectionHelper maSelectionHelper;
2a4ee2
@@ -170,10 +168,6 @@ public:
2a4ee2
 
2a4ee2
     // XAccessibleComponent
2a4ee2
     sal_Int32 SAL_CALL getBackground() override;
2a4ee2
-
2a4ee2
-    // XAccessibleGetAccFlowTo
2a4ee2
-    css::uno::Sequence< css::uno::Any >
2a4ee2
-        SAL_CALL getAccFlowTo(const css::uno::Any& rAny, sal_Int32 nType) override;
2a4ee2
 };
2a4ee2
 
2a4ee2
 #endif
2a4ee2
diff --git a/sw/source/uibase/uiview/viewsrch.cxx b/sw/source/uibase/uiview/viewsrch.cxx
2a4ee2
index 9bc9944ca36c..2370430d712d 100644
2a4ee2
--- a/sw/source/uibase/uiview/viewsrch.cxx
2a4ee2
+++ b/sw/source/uibase/uiview/viewsrch.cxx
2a4ee2
@@ -249,16 +249,6 @@ void SwView::ExecSearch(SfxRequest& rReq)
2a4ee2
                         lcl_emitSearchResultCallbacks(s_pSrchItem, m_pWrtShell.get(), /* bHighlightAll = */ false);
2a4ee2
                 }
2a4ee2
                 rReq.SetReturnValue(SfxBoolItem(nSlot, bRet));
2a4ee2
-#if HAVE_FEATURE_DESKTOP
2a4ee2
-                {
2a4ee2
-                    pSrchDlg = GetSearchDialog();
2a4ee2
-                    if (pSrchDlg)
2a4ee2
-                    {
2a4ee2
-                        pSrchDlg->SetDocWin(m_pEditWin, eCommand);
2a4ee2
-                        pSrchDlg->SetSrchFlag(false);
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-#endif
2a4ee2
             }
2a4ee2
             break;
2a4ee2
             case SvxSearchCmd::FIND_ALL:
2a4ee2
@@ -282,16 +272,6 @@ void SwView::ExecSearch(SfxRequest& rReq)
2a4ee2
                 else if (comphelper::LibreOfficeKit::isActive())
2a4ee2
                     lcl_emitSearchResultCallbacks(s_pSrchItem, m_pWrtShell.get(), /* bHighlightAll = */ true);
2a4ee2
                 rReq.SetReturnValue(SfxBoolItem(nSlot, bRet));
2a4ee2
-#if HAVE_FEATURE_DESKTOP
2a4ee2
-                {
2a4ee2
-                    pSrchDlg = GetSearchDialog();
2a4ee2
-                    if (pSrchDlg)
2a4ee2
-                    {
2a4ee2
-                        pSrchDlg->SetDocWin(m_pEditWin, eCommand);
2a4ee2
-                        pSrchDlg->SetSrchFlag(false);
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-#endif
2a4ee2
             }
2a4ee2
             break;
2a4ee2
             case SvxSearchCmd::REPLACE:
2a4ee2
@@ -340,16 +320,6 @@ void SwView::ExecSearch(SfxRequest& rReq)
2a4ee2
                     s_pSrchItem->SetCommand( nOldCmd );
2a4ee2
                     rReq.SetReturnValue(SfxBoolItem(nSlot, bRet));
2a4ee2
                 }
2a4ee2
-#if HAVE_FEATURE_DESKTOP
2a4ee2
-                {
2a4ee2
-                    pSrchDlg = GetSearchDialog();
2a4ee2
-                    if (pSrchDlg)
2a4ee2
-                    {
2a4ee2
-                        pSrchDlg->SetDocWin(m_pEditWin, eCommand);
2a4ee2
-                        pSrchDlg->SetSrchFlag(false);
2a4ee2
-                    }
2a4ee2
-                }
2a4ee2
-#endif
2a4ee2
                 break;
2a4ee2
 
2a4ee2
             case SvxSearchCmd::REPLACE_ALL:
2a4ee2
@@ -409,14 +379,6 @@ void SwView::ExecSearch(SfxRequest& rReq)
2a4ee2
                         SvxSearchDialogWrapper::SetSearchLabel(sText);
2a4ee2
                     }
2a4ee2
                 }
2a4ee2
-#if HAVE_FEATURE_DESKTOP
2a4ee2
-                pSrchDlg = GetSearchDialog();
2a4ee2
-                if (pSrchDlg)
2a4ee2
-                {
2a4ee2
-                    pSrchDlg->SetDocWin(m_pEditWin, eCommand);
2a4ee2
-                    pSrchDlg->SetSrchFlag(false);
2a4ee2
-                }
2a4ee2
-#endif
2a4ee2
                 break;
2a4ee2
             }
2a4ee2
 
2a4ee2
diff --git a/toolkit/source/awt/vclxaccessiblecomponent.cxx b/toolkit/source/awt/vclxaccessiblecomponent.cxx
2a4ee2
index f9b55d278655..7c963e83e9b6 100644
2a4ee2
--- a/toolkit/source/awt/vclxaccessiblecomponent.cxx
2a4ee2
+++ b/toolkit/source/awt/vclxaccessiblecomponent.cxx
2a4ee2
@@ -375,9 +375,6 @@ void VCLXAccessibleComponent::FillAccessibleRelationSet( utl::AccessibleRelation
2a4ee2
             uno::Sequence< uno::Reference< uno::XInterface > > aSequence { pMemberOf->GetAccessible() };
2a4ee2
             rRelationSet.AddRelation( accessibility::AccessibleRelation( accessibility::AccessibleRelationType::MEMBER_OF, aSequence ) );
2a4ee2
         }
2a4ee2
-
2a4ee2
-        for (const auto& rExtraRelation : pWindow->GetExtraAccessibleRelations())
2a4ee2
-            rRelationSet.AddRelation(rExtraRelation);
2a4ee2
     }
2a4ee2
 }
2a4ee2
 
2a4ee2
diff --git a/vcl/inc/window.h b/vcl/inc/window.h
2a4ee2
index 9c3dec48a725..4502770194fa 100644
2a4ee2
--- a/vcl/inc/window.h
2a4ee2
+++ b/vcl/inc/window.h
2a4ee2
@@ -280,7 +280,6 @@ public:
2a4ee2
     css::uno::Reference< css::accessibility::XAccessible > mxAccessible;
2a4ee2
     std::shared_ptr< VclSizeGroup > m_xSizeGroup;
2a4ee2
     std::vector<VclPtr<FixedText>> m_aMnemonicLabels;
2a4ee2
-    std::vector<css::accessibility::AccessibleRelation> m_aExtraAccessibleRelations;
2a4ee2
     std::unique_ptr<ImplAccessibleInfos> mpAccessibleInfos;
2a4ee2
     VCLXWindow*         mpVCLXWindow;
2a4ee2
     vcl::Region              maWinRegion;            //< region to 'shape' the VCL window (frame coordinates)
2a4ee2
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
2a4ee2
index fb5c50bd0dda..41ffa6918af5 100644
2a4ee2
--- a/vcl/source/app/salvtables.cxx
2a4ee2
+++ b/vcl/source/app/salvtables.cxx
2a4ee2
@@ -510,16 +510,6 @@ public:
2a4ee2
         m_xWidget->SetAccessibleRelationLabelFor(pAtkLabeled);
2a4ee2
     }
2a4ee2
 
2a4ee2
-    virtual void add_extra_accessible_relation(const css::accessibility::AccessibleRelation &rRelation) override
2a4ee2
-    {
2a4ee2
-        m_xWidget->AddExtraAccessibleRelation(rRelation);
2a4ee2
-    }
2a4ee2
-
2a4ee2
-    virtual void clear_extra_accessible_relations() override
2a4ee2
-    {
2a4ee2
-        m_xWidget->ClearExtraAccessibleRelations();
2a4ee2
-    }
2a4ee2
-
2a4ee2
     virtual void set_tooltip_text(const OUString& rTip) override
2a4ee2
     {
2a4ee2
         m_xWidget->SetQuickHelpText(rTip);
2a4ee2
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
2a4ee2
index a5174bb8e367..0b787c288903 100644
2a4ee2
--- a/vcl/source/window/window2.cxx
2a4ee2
+++ b/vcl/source/window/window2.cxx
2a4ee2
@@ -1966,21 +1966,6 @@ const std::vector<VclPtr<FixedText> >& Window::list_mnemonic_labels() const
2a4ee2
     return mpWindowImpl->m_aMnemonicLabels;
2a4ee2
 }
2a4ee2
 
2a4ee2
-void Window::AddExtraAccessibleRelation(const css::accessibility::AccessibleRelation &rRelation)
2a4ee2
-{
2a4ee2
-    mpWindowImpl->m_aExtraAccessibleRelations.push_back(rRelation);
2a4ee2
-}
2a4ee2
-
2a4ee2
-const std::vector<css::accessibility::AccessibleRelation>& Window::GetExtraAccessibleRelations() const
2a4ee2
-{
2a4ee2
-    return mpWindowImpl->m_aExtraAccessibleRelations;
2a4ee2
-}
2a4ee2
-
2a4ee2
-void Window::ClearExtraAccessibleRelations()
2a4ee2
-{
2a4ee2
-    mpWindowImpl->m_aExtraAccessibleRelations.clear();
2a4ee2
-}
2a4ee2
-
2a4ee2
 } /* namespace vcl */
2a4ee2
 
2a4ee2
 void DrawFocusRect(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect)
2a4ee2
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
2a4ee2
index 844a9f5a493b..9f1adaca77ed 100644
2a4ee2
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
2a4ee2
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
2a4ee2
@@ -1436,7 +1436,7 @@ private:
2a4ee2
     gulong m_nDragLeaveSignalId;
2a4ee2
 
2a4ee2
     rtl::Reference<GtkDropTarget> m_xDropTarget;
2a4ee2
-    std::vector<AtkRelation*> m_aExtraAtkRelations;
2a4ee2
+    rtl::Reference<GtkDragSource> m_xDragSource;
2a4ee2
 
2a4ee2
     static void signalSizeAllocate(GtkWidget*, GdkRectangle* allocation, gpointer widget)
2a4ee2
     {
2a4ee2
@@ -1941,33 +1941,6 @@ public:
2a4ee2
         g_object_unref(pRelationSet);
2a4ee2
     }
2a4ee2
 
2a4ee2
-    virtual void add_extra_accessible_relation(const css::accessibility::AccessibleRelation &rRelation) override
2a4ee2
-    {
2a4ee2
-        AtkObject* pAtkObject = gtk_widget_get_accessible(m_pWidget);
2a4ee2
-        if (!pAtkObject)
2a4ee2
-            return;
2a4ee2
-
2a4ee2
-        AtkRelationSet *pRelationSet = atk_object_ref_relation_set(pAtkObject);
2a4ee2
-        AtkRelation *pRel = atk_object_wrapper_relation_new(rRelation);
2a4ee2
-        m_aExtraAtkRelations.push_back(pRel);
2a4ee2
-        atk_relation_set_add(pRelationSet, pRel);
2a4ee2
-        g_object_unref(pRel);
2a4ee2
-        g_object_unref(pRelationSet);
2a4ee2
-    }
2a4ee2
-
2a4ee2
-    virtual void clear_extra_accessible_relations() override
2a4ee2
-    {
2a4ee2
-        AtkObject* pAtkObject = gtk_widget_get_accessible(m_pWidget);
2a4ee2
-        if (!pAtkObject)
2a4ee2
-            return;
2a4ee2
-
2a4ee2
-        AtkRelationSet *pRelationSet = atk_object_ref_relation_set(pAtkObject);
2a4ee2
-        for (AtkRelation* pRel : m_aExtraAtkRelations)
2a4ee2
-            atk_relation_set_remove(pRelationSet, pRel);
2a4ee2
-        m_aExtraAtkRelations.clear();
2a4ee2
-        g_object_unref(pRelationSet);
2a4ee2
-    }
2a4ee2
-
2a4ee2
     virtual bool get_extents_relative_to(weld::Widget& rRelative, int& x, int &y, int& width, int &height) override
2a4ee2
     {
2a4ee2
         //for toplevel windows this is sadly futile under wayland, so we can't tell where a dialog is in order to allow
2a4ee2
-- 
2a4ee2
2.25.4
2a4ee2