Backport MR #754 to fix #1749433

This commit is contained in:
Adam Williamson 2019-10-12 08:54:14 -07:00
parent 9fb81f491b
commit 3ca93417f8
3 changed files with 95 additions and 1 deletions

View File

@ -0,0 +1,29 @@
From 6bd7447b9b48a5d8db9d8648c71dbe699164579f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
Date: Mon, 7 Oct 2019 15:00:19 +0200
Subject: [PATCH 1/2] magnifier: Use own showSystemCursor() instead of
set_pointer_visible()
We already have our own function to show the system cursor, use it!
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/754
---
js/ui/magnifier.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js
index 0ec30ee00..0a935edef 100644
--- a/js/ui/magnifier.js
+++ b/js/ui/magnifier.js
@@ -169,7 +169,7 @@ var Magnifier = class Magnifier {
// Make sure system mouse pointer is shown when all zoom regions are
// invisible.
if (!activate)
- this._cursorTracker.set_pointer_visible(true);
+ this.showSystemCursor();
// Notify interested parties of this change
this.emit('active-changed', activate);
--
2.23.0

View File

@ -0,0 +1,54 @@
From d4e9d8cc28a43ee07ee609fccc5e6af173c7aa9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
Date: Mon, 7 Oct 2019 15:02:17 +0200
Subject: [PATCH 2/2] magnifier: Use new cursor tracker API to keep wayland
focus while hidden
Since commit a2a8f0cda we force the focus surface of the
meta-wayland-pointer to NULL while the pointer is hidden. This
introduced an issue with the magnifier, where we use
`set_pointer_visible` to hide the real cursor and show our own cursor at
the correct position: Because the meta-wayland-pointer is still used to
communicate with Wayland clients, the UI of the windows will not respond
to mouse movement anymore as soon as the real cursor is hidden.
To fix this, use the newly added API of MetaCursorTracker to switch back
to the old behavior while the magnifier is hiding the system cursor.
In the future and as a more correct fix, we might want to rewrite the
magnifier so it doesn't have to hide the cursor and can simply show the
default one (eg. by scaling the actual view instead of a clone of the
view).
Fixes https://gitlab.gnome.org/GNOME/mutter/issues/826
Depends on https://gitlab.gnome.org/GNOME/mutter/merge_requests/832
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/754
---
js/ui/magnifier.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js
index 0a935edef..a410bbb13 100644
--- a/js/ui/magnifier.js
+++ b/js/ui/magnifier.js
@@ -127,6 +127,7 @@ var Magnifier = class Magnifier {
* Show the system mouse pointer.
*/
showSystemCursor() {
+ this._cursorTracker.set_keep_focus_while_hidden(false);
this._cursorTracker.set_pointer_visible(true);
}
@@ -135,6 +136,7 @@ var Magnifier = class Magnifier {
* Hide the system mouse pointer.
*/
hideSystemCursor() {
+ this._cursorTracker.set_keep_focus_while_hidden(true);
this._cursorTracker.set_pointer_visible(false);
}
--
2.23.0

View File

@ -1,6 +1,6 @@
Name: gnome-shell
Version: 3.34.1
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Window management and application launching for GNOME
License: GPLv2+
@ -17,6 +17,14 @@ Patch1: gnome-shell-favourite-apps-firefox.patch
Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch
Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch
# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/754
# Fixes accessibility cursor zoom bug:
# https://bugzilla.redhat.com/show_bug.cgi?id=1749433
# https://gitlab.gnome.org/GNOME/mutter/issues/826
# Depends on a corresponding patch in mutter 3.34.1-2+
Patch4: 0001-magnifier-Use-own-showSystemCursor-instead-of-set_po.patch
Patch5: 0002-magnifier-Use-new-cursor-tracker-API-to-keep-wayland.patch
%define libcroco_version 0.6.8
%define eds_version 3.33.1
%define gnome_desktop_version 3.33.4
@ -211,6 +219,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
%{_mandir}/man1/gnome-shell.1*
%changelog
* Sat Oct 12 2019 Adam Williamson <awilliam@redhat.com> - 3.34.1-2
- Backport MR #754 to fix #1749433
* Wed Oct 09 2019 Florian Müllner <fmuellner@redhat.com> - 3.34.1-1
- Update to 3.34.1