Merge ~3v1n0/ubuntu/+source/gnome-shell:ubuntu/bionic into ~ubuntu-desktop/ubuntu/+source/gnome-shell:ubuntu/bionic

Proposed by Marco Trevisan (Treviño) on 2018-07-27
Status: Merged
Merged at revision: d970ce5f623624d63f4a516a3c99a61fa3524d8d
Proposed branch: ~3v1n0/ubuntu/+source/gnome-shell:ubuntu/bionic
Merge into: ~ubuntu-desktop/ubuntu/+source/gnome-shell:ubuntu/bionic
Diff against target: 111 lines (+56/-4)
5 files modified
debian/changelog (+7/-0)
debian/gbp.conf (+1/-1)
debian/patches/popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch (+44/-0)
debian/patches/series (+1/-0)
debian/patches/shell-ignore-invalid-window-monitor-index.patch (+3/-3)
Reviewer Review Type Date Requested Status
Iain Lane 2018-07-27 Needs Fixing on 2018-08-02
Review via email: mp+351444@code.launchpad.net

Description of the change

upstream/3.28.x should be pulled from salsa (or my lp repo)

Bionic branch for mutter is at:
 https://code.launchpad.net/~canonical-desktop-team/ubuntu/+source/mutter/+git/mutter

To post a comment you must log in.
Iain Lane (laney) wrote :

Cheers. I commented on IRC, but for the record - please make sure the bug has SRU information.

review: Needs Fixing

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 69849e0..3a0f865 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,10 @@
6+gnome-shell (3.28.3-0ubuntu0.18.04.3) UNRELEASED; urgency=medium
7+
8+ * d/p/popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch
9+ - Don't handle key presses directly if there are modifiers (LP: #1784671)
10+
11+ -- Marco Trevisan (Treviño) <marco@ubuntu.com> Wed, 01 Aug 2018 16:52:22 +0200
12+
13 gnome-shell (3.28.3-0ubuntu0.18.04.2) bionic; urgency=medium
14
15 * debian/patches/js-fix-invalid-access-errors.patch:
16diff --git a/debian/gbp.conf b/debian/gbp.conf
17index 00514af..bb36f7c 100644
18--- a/debian/gbp.conf
19+++ b/debian/gbp.conf
20@@ -1,6 +1,6 @@
21 [DEFAULT]
22 debian-branch=ubuntu/bionic
23-upstream-branch=upstream/latest
24+upstream-branch=upstream/3.28.x
25 debian-tag=ubuntu/%(version)s
26 upstream-vcs-tag=%(version)s
27 pristine-tar=True
28diff --git a/debian/patches/popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch b/debian/patches/popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch
29new file mode 100644
30index 0000000..5690583
31--- /dev/null
32+++ b/debian/patches/popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch
33@@ -0,0 +1,44 @@
34+From: Andrea Azzarone <andrea.azzarone@canonical.com>
35+Date: Thu, 21 Jun 2018 16:40:43 +0000
36+Subject: popupMenu: Don't handle key presses directly if there are modifiers
37+
38+Key events involved in a keyboard shortcut are not completely consumed by
39+Mutter. That means that if the popupMenu is bound to a shortcut (e.g.
40+Alt<Space>) and the user keeps the keys pressed, the same key-event will be
41+delivered to the popupMenu. We can workaround this issue filtering out all the
42+events where a a modifier is down (except capslock).
43+
44+Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/372
45+
46+(cherry picked from commit 2e90c5fa4b35ebe26c694223966834ee949cfce3)
47+
48+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1784671
49+Bug-GNOME: https://gitlab.gnome.org/GNOME/gnome-shell/issues/372
50+Applied-Upstream: 3.28.4, commit:https://gitlab.gnome.org/GNOME/gnome-shell/commit/445eed40
51+---
52+ js/ui/popupMenu.js | 11 ++++++++++-
53+ 1 file changed, 10 insertions(+), 1 deletion(-)
54+
55+diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
56+index 83194d7..f449d6e 100644
57+--- a/js/ui/popupMenu.js
58++++ b/js/ui/popupMenu.js
59+@@ -141,8 +141,17 @@ var PopupBaseMenuItem = new Lang.Class({
60+ },
61+
62+ _onKeyPressEvent(actor, event) {
63+- let symbol = event.get_key_symbol();
64++ let state = event.get_state();
65+
66++ // if user has a modifier down (except capslock)
67++ // then don't handle the key press here
68++ state &= ~Clutter.ModifierType.LOCK_MASK;
69++ state &= Clutter.ModifierType.MODIFIER_MASK;
70++
71++ if (state)
72++ return Clutter.EVENT_PROPAGATE;
73++
74++ let symbol = event.get_key_symbol();
75+ if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
76+ this.activate(event);
77+ return Clutter.EVENT_STOP;
78diff --git a/debian/patches/series b/debian/patches/series
79index 8f14220..3e0fd79 100644
80--- a/debian/patches/series
81+++ b/debian/patches/series
82@@ -21,3 +21,4 @@ js-ui-Choose-some-actors-to-cache-on-the-GPU.patch
83 authPrompt-Unset-preemptiveAnswer-on-reset.patch
84 authPrompt-Do-not-enable-sensitivity-if-retries-are-disal.patch
85 gdm-util-Always-allow-to-retry-login-in-unlock-mode.patch
86+popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch
87diff --git a/debian/patches/shell-ignore-invalid-window-monitor-index.patch b/debian/patches/shell-ignore-invalid-window-monitor-index.patch
88index 895d157..4d223de 100644
89--- a/debian/patches/shell-ignore-invalid-window-monitor-index.patch
90+++ b/debian/patches/shell-ignore-invalid-window-monitor-index.patch
91@@ -36,10 +36,10 @@ Forwarded: yes
92 3 files changed, 12 insertions(+), 7 deletions(-)
93
94 diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
95-index e13c7b7..14f6e7b 100644
96+index 5fcdf98..dd47676 100644
97 --- a/js/ui/keyboard.js
98 +++ b/js/ui/keyboard.js
99-@@ -939,6 +939,12 @@ var Keyboard = new Lang.Class({
100+@@ -919,6 +919,12 @@ var Keyboard = new Lang.Class({
101 if (this.actor == null)
102 return;
103 let monitor = Main.layoutManager.keyboardMonitor;
104@@ -52,7 +52,7 @@ index e13c7b7..14f6e7b 100644
105 let maxHeight = monitor.height / 3;
106 this.actor.width = monitor.width;
107 this.actor.height = maxHeight;
108-@@ -1001,6 +1007,8 @@ var Keyboard = new Lang.Class({
109+@@ -981,6 +987,8 @@ var Keyboard = new Lang.Class({
110 if (!this._enabled)
111 return;
112

Subscribers

People subscribed via source and target branches