[orca] Skip sanity checking for event types often seen in event floods
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Skip sanity checking for event types often seen in event floods
- Date: Sat, 25 Feb 2017 15:00:38 +0000 (UTC)
commit 9a420f7671f5c24a65fa68d3339ad3f9376d1ad5
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Sat Feb 25 09:53:45 2017 -0500
Skip sanity checking for event types often seen in event floods
The following events seem irrelevant to the double-speaking problem,
but show up in event floods from certain applications and toolkits:
* "object:active-descendant-changed",
* "object:children-changed",
* "object:column-reordered",
* "object:row-reordered",
* "object:property-change",
* "object:selection-changed"
* "object:state-changed:checked",
* "object:state-changed:expanded",
* "object:state-changed:indeterminate",
* "object:state-changed:pressed",
* "object:state-changed:selected",
* "object:state-changed:sensitive",
* "object:state-changed:showing",
* "object:text-changed"
Hopefully skipping sanity checking for the above will make it possible
to work around the Gecko-with-Gtk+3 bogus accessible-app creation without
hurting performance.
src/orca/event_manager.py | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/src/orca/event_manager.py b/src/orca/event_manager.py
index bfb4687..63088bd 100644
--- a/src/orca/event_manager.py
+++ b/src/orca/event_manager.py
@@ -540,7 +540,23 @@ class EventManager:
msg = 'WARNING: Exception when getting script for event.'
debug.println(debug.LEVEL_WARNING, msg, True)
else:
- check = True
+ skipCheck = [
+ "object:active-descendant-changed",
+ "object:children-changed",
+ "object:column-reordered",
+ "object:row-reordered",
+ "object:property-change",
+ "object:selection-changed"
+ "object:state-changed:checked",
+ "object:state-changed:expanded",
+ "object:state-changed:indeterminate",
+ "object:state-changed:pressed",
+ "object:state-changed:selected",
+ "object:state-changed:sensitive",
+ "object:state-changed:showing",
+ "object:text-changed",
+ ]
+ check = not list(filter(lambda x: event.type.startswith(x), skipCheck))
msg = 'EVENT MANAGER: Getting script for %s (check: %s)' % (app, check)
debug.println(debug.LEVEL_INFO, msg, True)
script = _scriptManager.getScript(app, event.source, sanityCheck=check)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]