diff -Nru gnome-shell-3.6.3.1/debian/changelog gnome-shell-3.6.3.1/debian/changelog --- gnome-shell-3.6.3.1/debian/changelog 2013-03-04 11:32:05.000000000 +1100 +++ gnome-shell-3.6.3.1/debian/changelog 2013-04-18 12:04:06.000000000 +1000 @@ -1,3 +1,12 @@ +gnome-shell (3.6.3.1-0ubuntu5) UNRELEASED; urgency=low + + * debian/patches: + - git_fix_autocompletion_in_dialogs.patch, + git_fix_dialog_activate_signals.patch + backport fix for incorrect activation of dialogs (LP: #1077546) + + -- Tim Lunn Thu, 18 Apr 2013 12:02:18 +1000 + gnome-shell (3.6.3.1-0ubuntu4) raring; urgency=low * debian/control.in: Drop gconf dependency diff -Nru gnome-shell-3.6.3.1/debian/patches/git_fix_autocompletion_in_dialogs.patch gnome-shell-3.6.3.1/debian/patches/git_fix_autocompletion_in_dialogs.patch --- gnome-shell-3.6.3.1/debian/patches/git_fix_autocompletion_in_dialogs.patch 1970-01-01 10:00:00.000000000 +1000 +++ gnome-shell-3.6.3.1/debian/patches/git_fix_autocompletion_in_dialogs.patch 2013-04-16 15:45:07.000000000 +1000 @@ -0,0 +1,52 @@ +From ee6f60bc936743db364cd1562f58b195fcb491da Mon Sep 17 00:00:00 2001 +From: Atri +Date: Sun, 24 Feb 2013 13:25:53 +0000 +Subject: modalDialog: Fix auto-completion of prompts immediately upon display + +Shell modal dialogs can take their action on a certain key's +key-release-event. For example on the affirmative action is +usually run. + +Make sure that the key was also pressed on the dialog and we're not +seeing a spurious key-release-event from a key that was pressed before +the dialog was displayed. Rebased original patch for master by Stef +Walter to version 3.6.3. + +https://bugzilla.gnome.org/show_bug.cgi?id=692937 +--- +diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js +index 71fbfc7..a7d6ae7 100644 +--- a/js/ui/modalDialog.js ++++ b/js/ui/modalDialog.js +@@ -57,7 +57,9 @@ const ModalDialog = new Lang.Class({ + + this._group.connect('destroy', Lang.bind(this, this._onGroupDestroy)); + ++ this._pressedKey = null; + this._actionKeys = {}; ++ this._group.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent)); + this._group.connect('key-release-event', Lang.bind(this, this._onKeyReleaseEvent)); + + this._backgroundBin = new St.Bin(); +@@ -186,8 +188,18 @@ const ModalDialog = new Lang.Class({ + + }, + ++ _onKeyPressEvent: function(object, event) { ++ this._pressedKey = event.get_key_symbol(); ++ }, ++ + _onKeyReleaseEvent: function(object, event) { ++ let pressedKey = this._pressedKey; ++ this._pressedKey = null; ++ + let symbol = event.get_key_symbol(); ++ if (symbol != pressedKey) ++ return false; ++ + let action = this._actionKeys[symbol]; + + if (action) { +-- +cgit v0.9.1 + diff -Nru gnome-shell-3.6.3.1/debian/patches/git_fix_dialog_activate_signals.patch gnome-shell-3.6.3.1/debian/patches/git_fix_dialog_activate_signals.patch --- gnome-shell-3.6.3.1/debian/patches/git_fix_dialog_activate_signals.patch 1970-01-01 10:00:00.000000000 +1000 +++ gnome-shell-3.6.3.1/debian/patches/git_fix_dialog_activate_signals.patch 2013-04-16 16:11:34.000000000 +1000 @@ -0,0 +1,57 @@ +From 862ca163da29cf2bdf4ec5d328d0bbd3936bc004 Mon Sep 17 00:00:00 2001 +From: "Jasper St. Pierre" +Date: Tue, 5 Mar 2013 02:04:02 -0500 +Subject: [PATCH] unlockDialog, loginDialog: Connect to the activate signal on + the entry + +This is the recommended way to connect to an entry's activation binding -- +event bubbling is not guaranteed by ClutterText. + +https://bugzilla.gnome.org/show_bug.cgi?id=695154 +--- + js/gdm/loginDialog.js | 11 +++++++++++ + js/ui/unlockDialog.js | 1 + + 2 files changed, 12 insertions(+) + +--- a/js/gdm/loginDialog.js ++++ b/js/gdm/loginDialog.js +@@ -708,6 +708,7 @@ + x_align: St.Align.START }); + this._promptEntry = new St.Entry({ style_class: 'login-dialog-prompt-entry', + can_focus: true }); ++ this._promptEntryActivateId = 0; + this._promptBox.add(this._promptEntry, + { expand: true, + x_fill: true, +@@ -913,6 +914,10 @@ + + function() { + this.setButtons(buttons); ++ this._promptEntryActivateId = ++ this._promptEntry.clutter_text.connect('activate', function() { ++ hold.release(); ++ }); + }, + + hold]; +@@ -930,6 +935,10 @@ + }, + + function() { ++ if (this._promptEntryActivateId > 0) { ++ this._promptEntry.clutter_text.disconnect(this._promptEntryActivateId); ++ this._promptEntryActivateId = 0; ++ } + this._promptLoginHint.hide(); + this._promptEntry.reactive = true; + this._promptEntry.set_text(''); +--- a/js/ui/unlockDialog.js ++++ b/js/ui/unlockDialog.js +@@ -146,6 +146,7 @@ + + this._promptEntry = new St.Entry({ style_class: 'login-dialog-prompt-entry', + can_focus: true }); ++ this._promptEntry.clutter_text.connect('activate', Lang.bind(this, this._doUnlock)); + this._promptEntry.clutter_text.set_password_char('\u25cf'); + ShellEntry.addContextMenu(this._promptEntry, { isPassword: true }); + this.setInitialKeyFocus(this._promptEntry); diff -Nru gnome-shell-3.6.3.1/debian/patches/series gnome-shell-3.6.3.1/debian/patches/series --- gnome-shell-3.6.3.1/debian/patches/series 2013-03-04 11:32:05.000000000 +1100 +++ gnome-shell-3.6.3.1/debian/patches/series 2013-04-16 15:46:26.000000000 +1000 @@ -8,3 +8,5 @@ git-set-ally-wm-theme.patch calendar-remove-strict-check.patch git_remove_messagetray_barrier.patch +git_fix_autocompletion_in_dialogs.patch +git_fix_dialog_activate_signals.patch