[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#928093: unblock (pre-approval): gnome-shell/3.30.2-9, mutter/3.30.2-7



Control: tags 928093 - moreinfo
Control: tags 928094 - moreinfo

On Sat, 27 Apr 2019 at 21:32:00 +0000, Niels Thykier wrote:
> Simon McVittie:
> > Now that gnome-shell's RC bugs are (hopefully) dealt with, I'd like
> > to update gnome-shell with the remaining bug fixes from the upstream
> > gnome-3-30 branch, backported from 3.32.x development.
...
> > While preparing gnome-shell/3.30.2-9 (see separate unblock request) I
> > thought I should also look into updating the closely-related mutter
> > package from the upstream gnome-3-30 stable branch.
> 
> Please go ahead with the upload and remove the moreinfo tag once the
> upload is in unstable and ready to be unblocked.

Both uploaded and built on all release architectures (except
gnome-shell:s390x, which is not a regression). Final debdiffs attached,
piped through
filterdiff -p1 --exclude 'debian/patches/Update-*-translation*.patch'
in the case of gnome-shell.

Thanks,
    smcv
diffstat for gnome-shell-3.30.2 gnome-shell-3.30.2

 changelog                                                               |   30 
 patches/ShellApp-Use-g_signal_connect_object-for-window-signals.patch   |    9 
 patches/Update-Icelandic-translation.patch                              | 1981 ++++++++++
 patches/Update-Scottish-Gaelic-translation-1.patch                      |  332 +
 patches/Update-Scottish-Gaelic-translation.patch                        | 1889 +++++++++
 patches/dnd-Only-handle-touch-events-in-wayland.patch                   |   34 
 patches/inputMethod-Avoid-calling-set_preedit_text-if-unnecessary.patch |   48 
 patches/inputMethod-Keep-track-of-preedit-string-visibility.patch       |   69 
 patches/messageTray-Re-enable-unredirection-when-banner-is-destro.patch |   47 
 patches/series                                                          |   12 
 patches/windowManager-Don-t-animate-touch-touchpad-gesture-in-ove.patch |   41 
 11 files changed, 4487 insertions(+), 5 deletions(-)

diff -Nru gnome-shell-3.30.2/debian/changelog gnome-shell-3.30.2/debian/changelog
--- gnome-shell-3.30.2/debian/changelog	2019-04-20 22:29:02.000000000 +0100
+++ gnome-shell-3.30.2/debian/changelog	2019-04-28 00:13:04.000000000 +0100
@@ -1,3 +1,33 @@
+gnome-shell (3.30.2-9) unstable; urgency=medium
+
+  * Team upload
+  * d/p/ShellApp-Use-g_signal_connect_object-for-window-signals.patch:
+    Mark as forwarded and applied upstream
+  * d/p/tweener-Save-handlers-on-target-and-remove-them-on-destro.patch,
+    d/p/workaround_crasher_fractional_scaling.patch:
+    Move non-upstreamed patches to appear last in d/p/series
+  * Update patch series from gnome-3-30 branch, up to 3.30.2-19-g1f03c94d3
+    - d/p/inputMethod-Avoid-calling-set_preedit_text-if-unnecessary.patch,
+      d/p/inputMethod-Keep-track-of-preedit-string-visibility.patch:
+      Avoid a bad interaction between gnome-shell, GTK, non-English input
+      methods, WebKitGTK and Evolution that can cause text to be deleted
+      unintentionally when Ctrl or Alt is pressed (Closes: #927719)
+    - d/p/messageTray-Re-enable-unredirection-when-banner-is-destro.patch:
+      If a notification appears while a game or other graphically intensive
+      application is full-screen, correctly re-enable unredirection (for
+      its performance benefits) when the notification closes
+      (Closes: #927718)
+    - d/p/dnd-Only-handle-touch-events-in-wayland.patch:
+      Fix a bug seen in X11 mode where extensions that use drag-and-drop,
+      such as dash-to-dock, can get the Shell into a state where
+      interaction with apps is no longer possible
+    - d/p/windowManager-Don-t-animate-touch-touchpad-gesture-in-ove.patch:
+      When the four-finger swipe up/down touchpad gesture is used to move
+      between workspaces, don't move application windows to the wrong place
+    - Update translations: gd, is
+
+ -- Simon McVittie <smcv@debian.org>  Sun, 28 Apr 2019 00:13:04 +0100
+
 gnome-shell (3.30.2-8) unstable; urgency=medium
 
   * Team upload
diff -Nru gnome-shell-3.30.2/debian/patches/dnd-Only-handle-touch-events-in-wayland.patch gnome-shell-3.30.2/debian/patches/dnd-Only-handle-touch-events-in-wayland.patch
--- gnome-shell-3.30.2/debian/patches/dnd-Only-handle-touch-events-in-wayland.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/dnd-Only-handle-touch-events-in-wayland.patch	2019-04-28 00:13:04.000000000 +0100
@@ -0,0 +1,34 @@
+From: Andrea Azzarone <andrea.azzarone@canonical.com>
+Date: Mon, 4 Mar 2019 16:14:22 +0000
+Subject: dnd: Only handle touch events in wayland
+
+There are serveral issues around touch passive grab and touch/pointer doubly
+handling to use these on X11, so we stick to single-touch/pointer there.
+
+Bug: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1015
+Origin: upstream, 3.30.3, commit:843ed09b0954f256225b6aacc631a9131a191981
+---
+ js/ui/dnd.js | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/js/ui/dnd.js b/js/ui/dnd.js
+index 8483e89..755c49b 100644
+--- a/js/ui/dnd.js
++++ b/js/ui/dnd.js
+@@ -132,6 +132,16 @@ var _Draggable = new Lang.Class({
+     },
+ 
+     _onTouchEvent(actor, event) {
++        // We only handle touch events here on wayland. On X11
++        // we do get emulated pointer events, which already works
++        // for single-touch cases. Besides, the X11 passive touch grab
++        // set up by Mutter will make us see first the touch events
++        // and later the pointer events, so it will look like two
++        // unrelated series of events, we want to avoid double handling
++        // in these cases.
++        if (!Meta.is_wayland_compositor())
++            return Clutter.EVENT_PROPAGATE;
++
+         if (event.type() != Clutter.EventType.TOUCH_BEGIN ||
+             !global.display.is_pointer_emulating_sequence(event.get_event_sequence()))
+             return Clutter.EVENT_PROPAGATE;
diff -Nru gnome-shell-3.30.2/debian/patches/inputMethod-Avoid-calling-set_preedit_text-if-unnecessary.patch gnome-shell-3.30.2/debian/patches/inputMethod-Avoid-calling-set_preedit_text-if-unnecessary.patch
--- gnome-shell-3.30.2/debian/patches/inputMethod-Avoid-calling-set_preedit_text-if-unnecessary.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/inputMethod-Avoid-calling-set_preedit_text-if-unnecessary.patch	2019-04-28 00:13:04.000000000 +0100
@@ -0,0 +1,48 @@
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Tue, 13 Nov 2018 18:26:13 +0100
+Subject: inputMethod: Avoid calling set_preedit_text() if unnecessary
+
+This is easier down on clients.
+
+(cherry-picked from 8c3811a866017943c276fa7d9e2aed4c0f0554ae)
+(cherry picked from commit 401062800186ca26135d270f2285d8b2b5446437)
+
+Origin: upstream, 3.30.3, commit:401062800186ca26135d270f2285d8b2b5446437
+Bug: https://gitlab.gnome.org/GNOME/gtk/issues/1447
+Bug-Debian: https://bugs.debian.org/927719
+---
+ js/misc/inputMethod.js | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
+index 4a92dc4..e22dfcc 100644
+--- a/js/misc/inputMethod.js
++++ b/js/misc/inputMethod.js
+@@ -144,8 +144,11 @@ var InputMethod = new Lang.Class({
+             this._updateCapabilities();
+         }
+ 
+-        // Unset any preedit text
+-        this.set_preedit_text(null, 0);
++        if (this._preeditStr) {
++            // Unset any preedit text
++            this.set_preedit_text(null, 0);
++            this._preeditStr = null;
++        }
+     },
+ 
+     vfunc_reset() {
+@@ -154,8 +157,11 @@ var InputMethod = new Lang.Class({
+             this._emitRequestSurrounding();
+         }
+ 
+-        // Unset any preedit text
+-        this.set_preedit_text(null, 0);
++        if (this._preeditStr) {
++            // Unset any preedit text
++            this.set_preedit_text(null, 0);
++            this._preeditStr = null;
++        }
+     },
+ 
+     vfunc_set_cursor_location(rect) {
diff -Nru gnome-shell-3.30.2/debian/patches/inputMethod-Keep-track-of-preedit-string-visibility.patch gnome-shell-3.30.2/debian/patches/inputMethod-Keep-track-of-preedit-string-visibility.patch
--- gnome-shell-3.30.2/debian/patches/inputMethod-Keep-track-of-preedit-string-visibility.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/inputMethod-Keep-track-of-preedit-string-visibility.patch	2019-04-28 00:13:04.000000000 +0100
@@ -0,0 +1,69 @@
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Tue, 13 Nov 2018 18:28:15 +0100
+Subject: inputMethod: Keep track of preedit string visibility
+
+So we can silence update-preedit-text signals that keep the
+preedit string invisible.
+
+(cherry-picked from 6f5a099184a1a5ecf558b36f2d00d2bfb074628e)
+(cherry picked from commit 1cda65973272baff218244e69dca0afc329ba6da)
+
+Origin: upstream, 3.30.3, commit:1cda65973272baff218244e69dca0afc329ba6da
+Bug: https://gitlab.gnome.org/GNOME/gtk/issues/1447
+Bug-Debian: https://bugs.debian.org/927719
+---
+ js/misc/inputMethod.js | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
+index e22dfcc..0f5590b 100644
+--- a/js/misc/inputMethod.js
++++ b/js/misc/inputMethod.js
+@@ -17,6 +17,7 @@ var InputMethod = new Lang.Class({
+         this._currentFocus = null;
+         this._preeditStr = '';
+         this._preeditPos = 0;
++        this._preeditVisible = false;
+         this._ibus = IBus.Bus.new_async();
+         this._ibus.connect('connected', this._onConnected.bind(this));
+         this._ibus.connect('disconnected', this._clear.bind(this));
+@@ -80,6 +81,7 @@ var InputMethod = new Lang.Class({
+         this._enabled = false;
+         this._preeditStr = ''
+         this._preeditPos = 0;
++        this._preeditVisible = false;
+     },
+ 
+     _emitRequestSurrounding() {
+@@ -98,20 +100,27 @@ var InputMethod = new Lang.Class({
+     _onUpdatePreeditText(context, text, pos, visible) {
+         if (text == null)
+             return;
+-        this._preeditStr = text.get_text();
+-        this._preeditPos = pos;
++
++        let preedit = text.get_text();
++
+         if (visible)
+-            this.set_preedit_text(this._preeditStr, pos);
+-        else
++            this.set_preedit_text(preedit, pos);
++        else if (this._preeditVisible)
+             this.set_preedit_text(null, pos);
++
++        this._preeditStr = preedit;
++        this._preeditPos = pos;
++        this._preeditVisible = visible;
+     },
+ 
+     _onShowPreeditText(context) {
++        this._preeditVisible = true;
+         this.set_preedit_text(this._preeditStr, this._preeditPos);
+     },
+ 
+     _onHidePreeditText(context) {
+         this.set_preedit_text(null, this._preeditPos);
++        this._preeditVisible = false;
+     },
+ 
+     _onForwardKeyEvent(context, keyval, keycode, state) {
diff -Nru gnome-shell-3.30.2/debian/patches/messageTray-Re-enable-unredirection-when-banner-is-destro.patch gnome-shell-3.30.2/debian/patches/messageTray-Re-enable-unredirection-when-banner-is-destro.patch
--- gnome-shell-3.30.2/debian/patches/messageTray-Re-enable-unredirection-when-banner-is-destro.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/messageTray-Re-enable-unredirection-when-banner-is-destro.patch	2019-04-28 00:13:04.000000000 +0100
@@ -0,0 +1,47 @@
+From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Thu, 22 Nov 2018 17:18:34 +0000
+Subject: messageTray: Re-enable unredirection when banner is destroyed
+
+The intention of commit 4dc20398 was to disable unredirection while
+banners are shown, but the ::done-displaying signal currently used for
+re-enabling unredirection is only emitted under some circumstances, so
+it's possible that unredirection is left disabled indefinitely, whoops.
+
+Fix this by tying disabling unredirection explicitly to the lifetime
+of the banner actor.
+
+(cherry picked from commit e5ce3d541e48dd75c9218312cd74ecb760ab857a)
+(cherry picked from commit 51b04134db2cce3a5a8b9074d8705e4284f5088d)
+
+Origin: upstream, 3.30.3, commit:51b04134db2cce3a5a8b9074d8705e4284f5088d
+Bug: https://gitlab.gnome.org/GNOME/gnome-shell/issues/799
+Bug-Debian: https://bugs.debian.org/927718
+---
+ js/ui/messageTray.js | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
+index 20469af..99f0cf9 100644
+--- a/js/ui/messageTray.js
++++ b/js/ui/messageTray.js
+@@ -1309,10 +1309,8 @@ var MessageTray = new Lang.Class({
+         }
+ 
+         this._banner = this._notification.createBanner();
+-        this._bannerClickedId = this._banner.connect('done-displaying', () => {
+-            Meta.enable_unredirect_for_display(global.display);
+-            this._escapeTray();
+-        });
++        this._bannerClickedId = this._banner.connect('done-displaying',
++                                                     this._escapeTray.bind(this));
+         this._bannerUnfocusedId = this._banner.connect('unfocused', () => {
+             this._updateState();
+         });
+@@ -1462,6 +1460,7 @@ var MessageTray = new Lang.Class({
+ 
+         this._pointerInNotification = false;
+         this._notificationRemoved = false;
++        Meta.enable_unredirect_for_display(global.display);
+ 
+         this._banner.actor.destroy();
+         this._banner = null;
diff -Nru gnome-shell-3.30.2/debian/patches/series gnome-shell-3.30.2/debian/patches/series
--- gnome-shell-3.30.2/debian/patches/series	2019-04-20 22:29:02.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/series	2019-04-28 00:13:04.000000000 +0100
@@ -9,11 +9,19 @@
 Update-French-translation.patch
 panel-Don-t-allow-opening-hidden-menus-via-keybindings.patch
 shellActionModes-disable-POPUP-keybindings-in-unlock-scre.patch
+inputMethod-Avoid-calling-set_preedit_text-if-unnecessary.patch
+inputMethod-Keep-track-of-preedit-string-visibility.patch
+Update-Scottish-Gaelic-translation.patch
+Update-Scottish-Gaelic-translation-1.patch
+Update-Icelandic-translation.patch
+messageTray-Re-enable-unredirection-when-banner-is-destro.patch
+dnd-Only-handle-touch-events-in-wayland.patch
+windowManager-Don-t-animate-touch-touchpad-gesture-in-ove.patch
 power-Label-the-PENDING_CHARGE-state-as-Not-Charging.patch
-tweener-Save-handlers-on-target-and-remove-them-on-destro.patch
-workaround_crasher_fractional_scaling.patch
 popupMenu-Respect-items-can-focus-property.patch
 keyboard-Make-items-in-language-menu-unfocusable.patch
 osk-layouts-Fix-French-layout.patch
 st-widget-Add-missing-g_return_val_if_fail.patch
 ShellApp-Use-g_signal_connect_object-for-window-signals.patch
+tweener-Save-handlers-on-target-and-remove-them-on-destro.patch
+workaround_crasher_fractional_scaling.patch
diff -Nru gnome-shell-3.30.2/debian/patches/ShellApp-Use-g_signal_connect_object-for-window-signals.patch gnome-shell-3.30.2/debian/patches/ShellApp-Use-g_signal_connect_object-for-window-signals.patch
--- gnome-shell-3.30.2/debian/patches/ShellApp-Use-g_signal_connect_object-for-window-signals.patch	2019-04-20 22:29:02.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/ShellApp-Use-g_signal_connect_object-for-window-signals.patch	2019-04-28 00:13:04.000000000 +0100
@@ -1,5 +1,5 @@
 From: Simon McVittie <smcv@debian.org>
-Date: Tue, 16 Apr 2019 23:59:58 +0100
+Date: Tue, 16 Apr 2019 22:59:58 +0000
 Subject: ShellApp: Use g_signal_connect_object for window signals
 
 A window being unmanaged can cause the ShellApp to be removed from
@@ -20,11 +20,14 @@
 <https://gitlab.gnome.org/GNOME/gnome-shell/issues/822> and
 <https://bugs.debian.org/926212>.
 
-Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/508
+Signed-off-by: Simon McVittie <smcv@debian.org>
+(cherry picked from commit 0f531d8c44b7eaf33a32531b02dc92f08a4979e8)
+(cherry picked from commit 78d6ccd804150eef30381e865e7c13dbd1608931)
 Bug: https://gitlab.gnome.org/GNOME/gnome-shell/issues/750
 Bug: https://gitlab.gnome.org/GNOME/gnome-shell/issues/822
 Bug-Debian: https://bugs.debian.org/926212
-Signed-off-by: Simon McVittie <smcv@debian.org>
+Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/508
+Applied-upstream: 3.32.2, commit:78d6ccd804150eef30381e865e7c13dbd1608931
 ---
  src/shell-app.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
diff -Nru gnome-shell-3.30.2/debian/patches/windowManager-Don-t-animate-touch-touchpad-gesture-in-ove.patch gnome-shell-3.30.2/debian/patches/windowManager-Don-t-animate-touch-touchpad-gesture-in-ove.patch
--- gnome-shell-3.30.2/debian/patches/windowManager-Don-t-animate-touch-touchpad-gesture-in-ove.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-3.30.2/debian/patches/windowManager-Don-t-animate-touch-touchpad-gesture-in-ove.patch	2019-04-28 00:13:04.000000000 +0100
@@ -0,0 +1,41 @@
+From: Xiang Fan <sfanxiang@gmail.com>
+Date: Sat, 16 Mar 2019 18:53:52 +0800
+Subject: windowManager: Don't animate touch/touchpad gesture in overview
+
+The window group is hidden while in overview, so the stick-to-content
+animation isn't visible either. Worse, the gestures messes up the
+position of window actors in that case.
+
+Fix that by skipping the (invisible) animations in the overview.
+
+Bug: https://gitlab.gnome.org/GNOME/gnome-shell/issues/644
+Origin: upstream, 3.30.3, commit:1f03c94d311edffb77d9f87b8fbd6e26eb04e148
+---
+ js/ui/windowManager.js | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
+index adfee93..e11b09c 100644
+--- a/js/ui/windowManager.js
++++ b/js/ui/windowManager.js
+@@ -1049,6 +1049,10 @@ var WindowManager = new Lang.Class({
+         let workspaceManager = global.workspace_manager;
+         let activeWorkspace = workspaceManager.get_active_workspace();
+ 
++        // If overview is visible, we would mess up the positioning of windows.
++        if (Main.overview.visible)
++            return;
++
+         if (!this._switchData)
+             this._prepareWorkspaceSwitch(activeWorkspace.index(), -1);
+ 
+@@ -1088,7 +1092,8 @@ var WindowManager = new Lang.Class({
+         if (newWs == activeWorkspace) {
+             this._switchWorkspaceCancel();
+         } else {
+-            this._switchData.gestureActivated = true;
++            if (this._switchData)
++                this._switchData.gestureActivated = true;
+             this.actionMoveWorkspace(newWs);
+         }
+     },
diffstat for mutter-3.30.2 mutter-3.30.2

 changelog                                                               |   24 +++
 control                                                                 |    2 
 control.in                                                              |    2 
 gbp.conf                                                                |    4 
 libmutter-3-0.symbols                                                   |    1 
 patches/clutter-Fix-check-for-keyboard-a11y-features.patch              |   26 +++
 patches/clutter-evdev-Fix-toggling-accessibility-features-from-ke.patch |   67 ++++++++++
 patches/series                                                          |    2 
 8 files changed, 124 insertions(+), 4 deletions(-)

diff -Nru mutter-3.30.2/debian/changelog mutter-3.30.2/debian/changelog
--- mutter-3.30.2/debian/changelog	2019-02-06 10:02:14.000000000 +0000
+++ mutter-3.30.2/debian/changelog	2019-04-28 00:13:35.000000000 +0100
@@ -1,3 +1,27 @@
+mutter (3.30.2-7) unstable; urgency=medium
+
+  * Team upload
+
+  [ Iain Lane ]
+  * Update metadata for debian/buster branch
+
+  [ Simon McVittie ]
+  * Update to upstream gnome-3-30 branch at 3.30.2-10-gdb8a29b34
+    - d/p/clutter-evdev-Fix-toggling-accessibility-features-from-ke.patch:
+      Allow keyboard accessibility features to be switched on when using
+      Wayland mode. Previously, this was wrongly controlled by the
+      "togglekeys" setting, which is off by default and has no UI, meaning
+      that in practice keyboard accessibility features were always off.
+    - d/p/clutter-Fix-check-for-keyboard-a11y-features.patch:
+      Fix the sense of the check for keyboard accessibility features.
+      Previously, they were enabled when disabled in gnome-control-center
+      and vice versa.
+  * d/libmutter-3-0.symbols: Add meta_gpu_kms_get_current_time_ns,
+    which was added in 3.30.2-2 by
+    d/p/Sync-to-the-hardware-refresh-rate-not-just-60.00Hz.patch
+
+ -- Simon McVittie <smcv@debian.org>  Sun, 28 Apr 2019 00:13:35 +0100
+
 mutter (3.30.2-6) unstable; urgency=medium
 
   * Team upload
diff -Nru mutter-3.30.2/debian/control mutter-3.30.2/debian/control
--- mutter-3.30.2/debian/control	2019-02-06 10:02:14.000000000 +0000
+++ mutter-3.30.2/debian/control	2019-04-28 00:13:35.000000000 +0100
@@ -59,7 +59,7 @@
                zenity
 Rules-Requires-Root: no
 Standards-Version: 4.3.0
-Vcs-Git: https://salsa.debian.org/gnome-team/mutter.git
+Vcs-Git: https://salsa.debian.org/gnome-team/mutter.git -b debian/buster
 Vcs-Browser: https://salsa.debian.org/gnome-team/mutter
 
 Package: mutter
diff -Nru mutter-3.30.2/debian/control.in mutter-3.30.2/debian/control.in
--- mutter-3.30.2/debian/control.in	2019-02-06 10:02:14.000000000 +0000
+++ mutter-3.30.2/debian/control.in	2019-04-28 00:13:35.000000000 +0100
@@ -55,7 +55,7 @@
                zenity
 Rules-Requires-Root: no
 Standards-Version: 4.3.0
-Vcs-Git: https://salsa.debian.org/gnome-team/mutter.git
+Vcs-Git: https://salsa.debian.org/gnome-team/mutter.git -b debian/buster
 Vcs-Browser: https://salsa.debian.org/gnome-team/mutter
 
 Package: mutter
diff -Nru mutter-3.30.2/debian/gbp.conf mutter-3.30.2/debian/gbp.conf
--- mutter-3.30.2/debian/gbp.conf	2019-02-06 10:02:14.000000000 +0000
+++ mutter-3.30.2/debian/gbp.conf	2019-04-28 00:13:35.000000000 +0100
@@ -1,7 +1,7 @@
 [DEFAULT]
 pristine-tar = True
-debian-branch = debian/master
-upstream-branch = upstream/latest
+debian-branch = debian/buster
+upstream-branch = upstream/3.30.x
 upstream-vcs-tag = %(version)s
 
 [buildpackage]
diff -Nru mutter-3.30.2/debian/libmutter-3-0.symbols mutter-3.30.2/debian/libmutter-3-0.symbols
--- mutter-3.30.2/debian/libmutter-3-0.symbols	2019-02-06 10:02:14.000000000 +0000
+++ mutter-3.30.2/debian/libmutter-3-0.symbols	2019-04-28 00:13:35.000000000 +0100
@@ -699,6 +699,7 @@
  (arch=linux-any)meta_gpu_kms_can_have_outputs@Base 3.29.92
  (arch=linux-any)meta_gpu_kms_flip_closure_container_free@Base 3.29.4
  (arch=linux-any)meta_gpu_kms_flip_crtc@Base 3.28.2
+ (arch=linux-any)meta_gpu_kms_get_current_time_ns@Base 3.30.2-2~
  (arch=linux-any)meta_gpu_kms_get_fd@Base 3.28.2
  (arch=linux-any)meta_gpu_kms_get_file_path@Base 3.28.2
  (arch=linux-any)meta_gpu_kms_get_max_buffer_size@Base 3.28.2
diff -Nru mutter-3.30.2/debian/patches/clutter-evdev-Fix-toggling-accessibility-features-from-ke.patch mutter-3.30.2/debian/patches/clutter-evdev-Fix-toggling-accessibility-features-from-ke.patch
--- mutter-3.30.2/debian/patches/clutter-evdev-Fix-toggling-accessibility-features-from-ke.patch	1970-01-01 01:00:00.000000000 +0100
+++ mutter-3.30.2/debian/patches/clutter-evdev-Fix-toggling-accessibility-features-from-ke.patch	2019-04-28 00:13:35.000000000 +0100
@@ -0,0 +1,67 @@
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Wed, 20 Mar 2019 18:32:28 +0100
+Subject: clutter/evdev: Fix toggling accessibility features from keyboard
+
+Enabling keyboard accessibility features on Wayland from the keyboard
+was wrongly assumed to be controlled by the "togglekeys" setting,
+whereas it should be simply controlled by the "enable" setting.
+
+As "togglekeys" is off by default and doesn't have a UI option to
+enable, that would prevent turning on or off the keyboard accessibility
+features using the keyboard.
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/merge_requests/501
+Origin: upstream, 3.30.3, commit:6be39612991d973f69b5dc652076acbe94f49f99
+---
+ clutter/clutter/evdev/clutter-input-device-evdev.c | 17 +++++++----------
+ 1 file changed, 7 insertions(+), 10 deletions(-)
+
+diff --git a/clutter/clutter/evdev/clutter-input-device-evdev.c b/clutter/clutter/evdev/clutter-input-device-evdev.c
+index 1f45afd..b4e1445 100644
+--- a/clutter/clutter/evdev/clutter-input-device-evdev.c
++++ b/clutter/clutter/evdev/clutter-input-device-evdev.c
+@@ -677,7 +677,7 @@ stop_toggle_slowkeys (ClutterInputDeviceEvdev *device)
+ }
+ 
+ static void
+-handle_togglekeys_press (ClutterEvent            *event,
++handle_enablekeys_press (ClutterEvent            *event,
+                          ClutterInputDeviceEvdev *device)
+ {
+   if (event->key.keyval == XKB_KEY_Shift_L || event->key.keyval == XKB_KEY_Shift_R)
+@@ -699,7 +699,7 @@ handle_togglekeys_press (ClutterEvent            *event,
+ }
+ 
+ static void
+-handle_togglekeys_release (ClutterEvent            *event,
++handle_enablekeys_release (ClutterEvent            *event,
+                            ClutterInputDeviceEvdev *device)
+ {
+   if (event->key.keyval == XKB_KEY_Shift_L || event->key.keyval == XKB_KEY_Shift_R)
+@@ -1136,6 +1136,11 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent               *e
+   if (!device_evdev->a11y_flags & CLUTTER_A11Y_KEYBOARD_ENABLED)
+     goto emit_event;
+ 
++  if (event->type == CLUTTER_KEY_PRESS)
++    handle_enablekeys_press (event, device_evdev);
++  else
++    handle_enablekeys_release (event, device_evdev);
++
+   if (device_evdev->a11y_flags & CLUTTER_A11Y_MOUSE_KEYS_ENABLED)
+     {
+       if (event->type == CLUTTER_KEY_PRESS &&
+@@ -1146,14 +1151,6 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent               *e
+         return; /* swallow event */
+     }
+ 
+-  if (device_evdev->a11y_flags & CLUTTER_A11Y_TOGGLE_KEYS_ENABLED)
+-    {
+-      if (event->type == CLUTTER_KEY_PRESS)
+-        handle_togglekeys_press (event, device_evdev);
+-      else
+-        handle_togglekeys_release (event, device_evdev);
+-    }
+-
+   if ((device_evdev->a11y_flags & CLUTTER_A11Y_BOUNCE_KEYS_ENABLED) &&
+       (get_debounce_delay (device) != 0))
+     {
diff -Nru mutter-3.30.2/debian/patches/clutter-Fix-check-for-keyboard-a11y-features.patch mutter-3.30.2/debian/patches/clutter-Fix-check-for-keyboard-a11y-features.patch
--- mutter-3.30.2/debian/patches/clutter-Fix-check-for-keyboard-a11y-features.patch	1970-01-01 01:00:00.000000000 +0100
+++ mutter-3.30.2/debian/patches/clutter-Fix-check-for-keyboard-a11y-features.patch	2019-04-28 00:13:35.000000000 +0100
@@ -0,0 +1,26 @@
+From: Carlos Garnacho <carlosg@gnome.org>
+Date: Thu, 28 Mar 2019 11:58:35 +0100
+Subject: clutter: Fix check for keyboard a11y features
+
+The typo was actually toggling the feature on for those who had it
+disabled.
+
+Bug: https://gitlab.gnome.org/GNOME/mutter/issues/529
+Origin: upstream, 3.30.3, commit:db8a29b34821130e3cd530da392de7af403db848
+---
+ clutter/clutter/evdev/clutter-input-device-evdev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/clutter/clutter/evdev/clutter-input-device-evdev.c b/clutter/clutter/evdev/clutter-input-device-evdev.c
+index b4e1445..a904d5a 100644
+--- a/clutter/clutter/evdev/clutter-input-device-evdev.c
++++ b/clutter/clutter/evdev/clutter-input-device-evdev.c
+@@ -1133,7 +1133,7 @@ clutter_input_device_evdev_process_kbd_a11y_event (ClutterEvent               *e
+   if (event->key.flags & CLUTTER_EVENT_FLAG_INPUT_METHOD)
+     goto emit_event;
+ 
+-  if (!device_evdev->a11y_flags & CLUTTER_A11Y_KEYBOARD_ENABLED)
++  if (!(device_evdev->a11y_flags & CLUTTER_A11Y_KEYBOARD_ENABLED))
+     goto emit_event;
+ 
+   if (event->type == CLUTTER_KEY_PRESS)
diff -Nru mutter-3.30.2/debian/patches/series mutter-3.30.2/debian/patches/series
--- mutter-3.30.2/debian/patches/series	2019-02-06 10:02:14.000000000 +0000
+++ mutter-3.30.2/debian/patches/series	2019-04-28 00:13:35.000000000 +0100
@@ -6,6 +6,8 @@
 tests-Don-t-check-pixels-outside-actor-allocation.patch
 screen-cast-Fix-monitor-recording-on-HiDPI.patch
 monitor-manager-Don-t-use-switch-config-when-ensuring-con.patch
+clutter-evdev-Fix-toggling-accessibility-features-from-ke.patch
+clutter-Fix-check-for-keyboard-a11y-features.patch
 theme-use-gtk_render_icon_suface-to-paint-button-icon.patch
 theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch
 bgo768531_workaround-startup-notifications.patch

Reply to: