[orca] Evolution: Work around missing events from Evolution Add Accounts



commit a30e4b28736c937a8a9e2b8720fbfc3e020d0175
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Mon Apr 26 13:11:35 2021 +0200

    Evolution: Work around missing events from Evolution Add Accounts
    
    When the "Add" button is pressed in the Evolution Accounts dialog,
    a popup menu appears and claims focus. But when we check if the
    top-level window containing that menu has state active, it does not.
    This causes us to reject the event, along with subsequent navigation
    in the menu.
    
    It seems safe enough to handle this specific case for Evolution by
    trusting that menus claiming focus are in the active window even if
    that window claims to not be active.

 src/orca/scripts/apps/evolution/script.py | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/src/orca/scripts/apps/evolution/script.py b/src/orca/scripts/apps/evolution/script.py
index af68154c1..b626eb24a 100644
--- a/src/orca/scripts/apps/evolution/script.py
+++ b/src/orca/scripts/apps/evolution/script.py
@@ -81,6 +81,9 @@ class Script(WebKitGtk.Script, gtk.Script):
         to say it shouldn't.
         """
 
+        if event.type.startswith("focus:") and event.source.getRole() == pyatspi.ROLE_MENU:
+            return True
+
         window = self.utilities.topLevelObject(event.source)
         if window and not window.getState().contains(pyatspi.STATE_ACTIVE):
             return False


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]