[orca: 1/2] Fix mouse review on some web elements after scrolling
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca: 1/2] Fix mouse review on some web elements after scrolling
- Date: Thu, 12 Mar 2020 13:53:44 +0000 (UTC)
commit 6cf2318bcbbc6a443246a99058d2231b6b2afb06
Author: Colomban Wendling <cwendling hypra fr>
Date: Wed Mar 11 14:22:24 2020 +0100
Fix mouse review on some web elements after scrolling
Fix scripts.web.isShowingAndVisible() workaround for outdated cache
when using mouse review.
https://gitlab.gnome.org/GNOME/orca/issues/81
src/orca/mouse_review.py | 4 ++++
src/orca/scripts/web/script_utilities.py | 10 ++++++----
2 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/src/orca/mouse_review.py b/src/orca/mouse_review.py
index 97084eccc..b3945facc 100644
--- a/src/orca/mouse_review.py
+++ b/src/orca/mouse_review.py
@@ -311,6 +311,8 @@ class MouseReviewer:
self._windows = []
self._handlerIds = {}
+ self.inMouseEvent = False
+
if not _mouseReviewCapable:
msg = "MOUSE REVIEW ERROR: Wnck is not available"
debug.println(debug.LEVEL_INFO, msg, True)
@@ -555,7 +557,9 @@ class MouseReviewer:
debug.println(debug.LEVEL_INFO, msg, False)
if event.type.startswith("mouse:abs"):
+ self.inMouseEvent = True
self._on_mouse_moved(event)
+ self.inMouseEvent = False
msg = "TOTAL PROCESSING TIME: %.4f\n" % (time.time() - startTime)
msg += "^^^^^ PROCESS OBJECT EVENT %s ^^^^^\n" % event.type
diff --git a/src/orca/scripts/web/script_utilities.py b/src/orca/scripts/web/script_utilities.py
index b411a764b..bd981d843 100644
--- a/src/orca/scripts/web/script_utilities.py
+++ b/src/orca/scripts/web/script_utilities.py
@@ -34,6 +34,7 @@ import urllib
from orca import debug
from orca import input_event
from orca import messages
+from orca import mouse_review
from orca import orca
from orca import orca_state
from orca import script_utilities
@@ -636,11 +637,12 @@ class Utilities(script_utilities.Utilities):
if rv or not self.inDocumentContent(obj):
return rv
- if not self._isOrIsIn(orca_state.locusOfFocus, obj):
- return rv
+ if not mouse_review.reviewer.inMouseEvent:
+ if not self._isOrIsIn(orca_state.locusOfFocus, obj):
+ return rv
- msg = "WEB: %s contains locusOfFocus but not showing and visible" % obj
- debug.println(debug.LEVEL_INFO, msg, True)
+ msg = "WEB: %s contains locusOfFocus but not showing and visible" % obj
+ debug.println(debug.LEVEL_INFO, msg, True)
obj.clearCache()
rv = super().isShowingAndVisible(obj)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]