[orca/gnome-3-14] Don't set the caret position in Gecko zombie replicants
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca/gnome-3-14] Don't set the caret position in Gecko zombie replicants
- Date: Sat, 7 Mar 2015 02:23:05 +0000 (UTC)
commit fec74ee2144b5b066eb1e7a54d669226fcb47216
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Fri Mar 6 20:51:37 2015 -0500
Don't set the caret position in Gecko zombie replicants
Gecko seems to like to kill certain accessible objects on us upon focus,
putting a new one in its place. This would completely mess up Orca's caret
navigation, so we added checks for these zombies and code to try to find
their replicants. That way, when the proverbial rug was snatched out from
under our feet, we could reposition ourselves on the replacement object,
and everything seemed fine. Now, however, the act of setting the caret in
the replicant seems to be sufficient to cause Gecko to kill that replicant.
This is why we can't nice things.
The change in this commit is to quietly update our locus of focus without
touching the zombie and its subsequent replicants in the hopes they'll
leave us alone so that we can actually navigate within the content.
src/orca/scripts/toolkits/Gecko/script.py | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/src/orca/scripts/toolkits/Gecko/script.py b/src/orca/scripts/toolkits/Gecko/script.py
index 2b8e69b..bc5d57f 100644
--- a/src/orca/scripts/toolkits/Gecko/script.py
+++ b/src/orca/scripts/toolkits/Gecko/script.py
@@ -1119,7 +1119,10 @@ class Script(default.Script):
if obj and self.utilities.isZombie(obj):
replicant = self.utilities.findReplicant(event.any_data, obj)
if replicant:
- self.setCaretPosition(replicant, offset)
+ # Refrain from actually touching the replicant by grabbing
+ # focus or setting the caret in it. Doing so will only serve
+ # to anger it.
+ orca.setLocusOfFocus(event, replicant, False)
return
if self.handleAsLiveRegion(event):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]