Hi Release Team.

I'm afraid we have one more code-freeze-break to request. Alas, we are
still catching the occasional post-introspection, post-Gtk3-migration
bug. :-/

The proposed patch (below) is both a fix for bug 660163 along with a way
to make bug 660099 far less painful for the user until we can properly
sort out the latter bug out. Ale and I have both beaten on it quite a
bit and feel it is sound.

With apologies.
--The Orca team

>From 85b90021d9275a1d51a86a8af8363d9eecd03f6d Mon Sep 17 00:00:00 2001
From: Alejandro Leiva <ale...@emergya.es>
Date: Mon, 26 Sep 2011 20:40:49 +0200
Subject: [PATCH] Fix for #660163 - Traceback when try to edit a keybinding.

---
 src/orca/keybindings.py |    5 ++++-
 src/orca/orca.py        |    9 ++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/orca/keybindings.py b/src/orca/keybindings.py
index 3bbc438..7d4d63c 100644
--- a/src/orca/keybindings.py
+++ b/src/orca/keybindings.py
@@ -73,7 +73,10 @@ def getAllKeysyms(keysym):
             # we are looking for.
             #
             if keycode != 0:
-                success, entries = keymap.get_entries_for_keycode(keycode)
+                entries_for_keycode = keymap.get_entries_for_keycode(keycode)
+                success = entries_for_keycode[0]
+                entries = entries_for_keycode[1]
+
                 for entry in entries:
                     keyval = entry[0]
                     name = Gdk.keyval_name(keyval)
diff --git a/src/orca/orca.py b/src/orca/orca.py
index 05033fb..ecd57cd 100644
--- a/src/orca/orca.py
+++ b/src/orca/orca.py
@@ -1150,8 +1150,15 @@ def _processKeyCaptured(event):
             # character. (i.e. "1" instead of "!")
             #
             keymap = Gdk.Keymap.get_default()
-            success, entries = keymap.get_entries_for_keycode(event.hw_code)
+            entries_for_keycode = keymap.get_entries_for_keycode(event.hw_code)
+            success = entries_for_keycode[0]
+            entries = entries_for_keycode[1]
             event.event_string = Gdk.keyval_name(entries[0].keycode)
+
+            if not event.event_string:
+                orca_state.capturingKeys = False
+                return False
+
             if event.event_string.startswith("KP") and \
                event.event_string != "KP_Enter":
                 name = Gdk.keyval_name(entries[1].keycode)
-- 
1.7.6.2


_______________________________________________
release-team@gnome.org
http://mail.gnome.org/mailman/listinfo/release-team
Release-team lurker? Do NOT participate in discussions.

Reply via email to