vcl/qt5/QtAccessibleEventListener.cxx |    5 -----
 1 file changed, 5 deletions(-)

New commits:
commit 4849c98eb44b62324293254c946de41668ecd494
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Fri Apr 28 20:44:14 2023 +0300
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Fri Apr 28 21:56:50 2023 +0200

    qt a11y: Forward changes to active state
    
    Forwarding of a11y state change events had in general
    been implemented in
    
        commit 8c3e8af0e60865ec6d38e2117efdb4ed2f10a20c
        Author: Michael Weghorn <m.wegh...@posteo.de>
        Date:   Fri Jun 17 17:29:19 2022 +0200
    
            qt a11y: Forward STATE_CHANGED event as such
    
    , but that commit explicitly did not yet enable forwarding
    of changes to the `active` state; quoting from the commit
    message:
    
    > For some reason, forwarding changes to state `AccessibleStateType::ACTIVE`
    > resulted in Orca becoming unresponsive (stop talking) quite quickly.
    > That needs further analysis, so that state change isn't forwarded
    > to Qt for now.
    
    I no longer see this problem on Debian testing with Orca 43.1-1,
    current LO master and qtbase dev branch as of commit
    589c6d066f84833a7c3dda1638037f4b2e91b7aa
    plus the pending Qt Gerrit change [1]
    ("a11y atspi: Implement TableCell methods Get{Column,Row}HeaderCells")
    in place. Without the latter qtbase change, I can observe
    Orca becoming unresponsive quite quickly when moving around in Calc
    after pressing Shift, which may be due to waiting for a timeout
    instead of receiving the proper reply to the AT-SPI methods
    that that Gerrit change implements. (S.a. QTBUG-113110 [2] for
    another scenario using a simple pyatspi script to trigger
    what is potentially the same underlying issue.)
    
    Therefore, drop the old workaround.
    
    With this LO and the Qt change in place, Orca announces the
    focused and selected cell(s) in Calc with the qt6 VCL
    plugin and these steps:
    
    1) start LO Calc with the qt6 VCL plugin
    2) press Shift and wait a few seconds
    3) move around using the arrow keys
    4) select cells using Shift + arrow keys
    
    Ideally, this should also work without step 2, but
    apparently that step currently somehow triggers something
    relevant (creation of relevant a11y objects and registration
    of their listeners?) that doesn't yet happen without step 2.
    
    [1] https://codereview.qt-project.org/c/qt/qtbase/+/473907
    [2] https://bugreports.qt.io/browse/QTBUG-113110
    
    Change-Id: Icff8bbe7a6ee233407804c9098166945cdef4315
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151176
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/qt5/QtAccessibleEventListener.cxx 
b/vcl/qt5/QtAccessibleEventListener.cxx
index 59d7dd0a8717..951286a6c1c1 100644
--- a/vcl/qt5/QtAccessibleEventListener.cxx
+++ b/vcl/qt5/QtAccessibleEventListener.cxx
@@ -59,13 +59,8 @@ void QtAccessibleEventListener::HandleStateChangedEvent(
     switch (nState)
     {
         case AccessibleStateType::ACTIVE:
-            // ignore for now, since it somehow causes Orca to become 
unresponsive quite quickly
-            // TODO: analyze further and fix root cause
-            /*
             aState.active = true;
             break;
-            */
-            return;
         case AccessibleStateType::BUSY:
             aState.busy = true;
             break;

Reply via email to