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

Proposed by Marco Trevisan (Treviño)
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 Needs Fixing
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.
Revision history for this message
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
diff --git a/debian/changelog b/debian/changelog
index 69849e0..3a0f865 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
1gnome-shell (3.28.3-0ubuntu0.18.04.3) UNRELEASED; urgency=medium
2
3 * d/p/popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch
4 - Don't handle key presses directly if there are modifiers (LP: #1784671)
5
6 -- Marco Trevisan (Treviño) <marco@ubuntu.com> Wed, 01 Aug 2018 16:52:22 +0200
7
1gnome-shell (3.28.3-0ubuntu0.18.04.2) bionic; urgency=medium8gnome-shell (3.28.3-0ubuntu0.18.04.2) bionic; urgency=medium
29
3 * debian/patches/js-fix-invalid-access-errors.patch:10 * debian/patches/js-fix-invalid-access-errors.patch:
diff --git a/debian/gbp.conf b/debian/gbp.conf
index 00514af..bb36f7c 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -1,6 +1,6 @@
1[DEFAULT]1[DEFAULT]
2debian-branch=ubuntu/bionic2debian-branch=ubuntu/bionic
3upstream-branch=upstream/latest3upstream-branch=upstream/3.28.x
4debian-tag=ubuntu/%(version)s4debian-tag=ubuntu/%(version)s
5upstream-vcs-tag=%(version)s5upstream-vcs-tag=%(version)s
6pristine-tar=True6pristine-tar=True
diff --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
7new file mode 1006447new file mode 100644
index 0000000..5690583
--- /dev/null
+++ b/debian/patches/popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch
@@ -0,0 +1,44 @@
1From: Andrea Azzarone <andrea.azzarone@canonical.com>
2Date: Thu, 21 Jun 2018 16:40:43 +0000
3Subject: popupMenu: Don't handle key presses directly if there are modifiers
4
5Key events involved in a keyboard shortcut are not completely consumed by
6Mutter. That means that if the popupMenu is bound to a shortcut (e.g.
7Alt<Space>) and the user keeps the keys pressed, the same key-event will be
8delivered to the popupMenu. We can workaround this issue filtering out all the
9events where a a modifier is down (except capslock).
10
11Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/372
12
13(cherry picked from commit 2e90c5fa4b35ebe26c694223966834ee949cfce3)
14
15Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1784671
16Bug-GNOME: https://gitlab.gnome.org/GNOME/gnome-shell/issues/372
17Applied-Upstream: 3.28.4, commit:https://gitlab.gnome.org/GNOME/gnome-shell/commit/445eed40
18---
19 js/ui/popupMenu.js | 11 ++++++++++-
20 1 file changed, 10 insertions(+), 1 deletion(-)
21
22diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
23index 83194d7..f449d6e 100644
24--- a/js/ui/popupMenu.js
25+++ b/js/ui/popupMenu.js
26@@ -141,8 +141,17 @@ var PopupBaseMenuItem = new Lang.Class({
27 },
28
29 _onKeyPressEvent(actor, event) {
30- let symbol = event.get_key_symbol();
31+ let state = event.get_state();
32
33+ // if user has a modifier down (except capslock)
34+ // then don't handle the key press here
35+ state &= ~Clutter.ModifierType.LOCK_MASK;
36+ state &= Clutter.ModifierType.MODIFIER_MASK;
37+
38+ if (state)
39+ return Clutter.EVENT_PROPAGATE;
40+
41+ let symbol = event.get_key_symbol();
42 if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
43 this.activate(event);
44 return Clutter.EVENT_STOP;
diff --git a/debian/patches/series b/debian/patches/series
index 8f14220..3e0fd79 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -21,3 +21,4 @@ js-ui-Choose-some-actors-to-cache-on-the-GPU.patch
21authPrompt-Unset-preemptiveAnswer-on-reset.patch21authPrompt-Unset-preemptiveAnswer-on-reset.patch
22authPrompt-Do-not-enable-sensitivity-if-retries-are-disal.patch22authPrompt-Do-not-enable-sensitivity-if-retries-are-disal.patch
23gdm-util-Always-allow-to-retry-login-in-unlock-mode.patch23gdm-util-Always-allow-to-retry-login-in-unlock-mode.patch
24popupMenu-Don-t-handle-key-presses-directly-if-there-are-.patch
diff --git a/debian/patches/shell-ignore-invalid-window-monitor-index.patch b/debian/patches/shell-ignore-invalid-window-monitor-index.patch
index 895d157..4d223de 100644
--- a/debian/patches/shell-ignore-invalid-window-monitor-index.patch
+++ b/debian/patches/shell-ignore-invalid-window-monitor-index.patch
@@ -36,10 +36,10 @@ Forwarded: yes
36 3 files changed, 12 insertions(+), 7 deletions(-)36 3 files changed, 12 insertions(+), 7 deletions(-)
3737
38diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js38diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
39index e13c7b7..14f6e7b 10064439index 5fcdf98..dd47676 100644
40--- a/js/ui/keyboard.js40--- a/js/ui/keyboard.js
41+++ b/js/ui/keyboard.js41+++ b/js/ui/keyboard.js
42@@ -939,6 +939,12 @@ var Keyboard = new Lang.Class({42@@ -919,6 +919,12 @@ var Keyboard = new Lang.Class({
43 if (this.actor == null)43 if (this.actor == null)
44 return;44 return;
45 let monitor = Main.layoutManager.keyboardMonitor;45 let monitor = Main.layoutManager.keyboardMonitor;
@@ -52,7 +52,7 @@ index e13c7b7..14f6e7b 100644
52 let maxHeight = monitor.height / 3;52 let maxHeight = monitor.height / 3;
53 this.actor.width = monitor.width;53 this.actor.width = monitor.width;
54 this.actor.height = maxHeight;54 this.actor.height = maxHeight;
55@@ -1001,6 +1007,8 @@ var Keyboard = new Lang.Class({55@@ -981,6 +987,8 @@ var Keyboard = new Lang.Class({
56 if (!this._enabled)56 if (!this._enabled)
57 return;57 return;
58 58

Subscribers

People subscribed via source and target branches