sc/source/ui/Accessibility/AccessibleEditObject.cxx |    9 +++++++++
 sc/source/ui/app/inputwin.cxx                       |    2 +-
 sc/source/ui/inc/AccessibleEditObject.hxx           |    8 ++++++++
 3 files changed, 18 insertions(+), 1 deletion(-)

New commits:
commit 4b6af3412f72be85706fc5355a36bd8364726c13
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Jun 9 14:31:05 2021 +0100
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Thu Jun 10 21:13:37 2021 +0200

    tdf#141769 ScTextWnd has to be available before the editview is created
    
    Change-Id: Iec3b4180c4dc83723224b7122a1513cb8fe3ea0b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116921
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

diff --git a/sc/source/ui/Accessibility/AccessibleEditObject.cxx 
b/sc/source/ui/Accessibility/AccessibleEditObject.cxx
index d0afd2c8196c..ea6787478abd 100644
--- a/sc/source/ui/Accessibility/AccessibleEditObject.cxx
+++ b/sc/source/ui/Accessibility/AccessibleEditObject.cxx
@@ -27,6 +27,7 @@
 #include <editsrc.hxx>
 #include <scmod.hxx>
 #include <inputhdl.hxx>
+#include <inputwin.hxx>
 
 #include <unotools/accessiblestatesethelper.hxx>
 #include <com/sun/star/accessibility/AccessibleRole.hpp>
@@ -595,4 +596,12 @@ OutputDevice* 
ScAccessibleEditControlObject::GetOutputDeviceForView()
     return &m_pController->GetDrawingArea()->get_ref_device();
 }
 
+ScAccessibleEditLineObject::ScAccessibleEditLineObject(ScTextWnd* pTextWnd)
+    : ScAccessibleEditControlObject(pTextWnd, ScAccessibleEditObject::EditLine)
+{
+    // tdf#141769 set this early so its always available, even before the 
on-demand
+    // editview is created
+    mpTextWnd = pTextWnd;
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 2846ca43dc54..6307eee3edd7 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -2075,7 +2075,7 @@ void ScTextWnd::SetDrawingArea(weld::DrawingArea* 
pDrawingArea)
 
 css::uno::Reference< css::accessibility::XAccessible > 
ScTextWnd::CreateAccessible()
 {
-    pAcc = new ScAccessibleEditControlObject(this, 
ScAccessibleEditObject::EditLine);
+    pAcc = new ScAccessibleEditLineObject(this);
     return pAcc;
 }
 
diff --git a/sc/source/ui/inc/AccessibleEditObject.hxx 
b/sc/source/ui/inc/AccessibleEditObject.hxx
index 83dedda9b387..9244964cfae3 100644
--- a/sc/source/ui/inc/AccessibleEditObject.hxx
+++ b/sc/source/ui/inc/AccessibleEditObject.hxx
@@ -175,7 +175,9 @@ private:
     std::unique_ptr<accessibility::AccessibleTextHelper> mpTextHelper;
     EditView*      mpEditView;
     VclPtr<vcl::Window> mpWindow;
+protected:
     ScTextWnd* mpTextWnd;
+private:
     EditObjectType meObjectType;
     bool           mbHasFocus;
 
@@ -222,6 +224,12 @@ public:
     virtual void SAL_CALL disposing() override;
 };
 
+class ScAccessibleEditLineObject : public ScAccessibleEditControlObject
+{
+public:
+    ScAccessibleEditLineObject(ScTextWnd* pTextWnd);
+};
+
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to