Backport fix for password entry modifier key issues (#1569211)
This commit is contained in:
		
							parent
							
								
									a6345a11fb
								
							
						
					
					
						commit
						11366f8161
					
				| @ -0,0 +1,52 @@ | ||||
| From 642107a28f9616b5836d6da3b57d9bfc33acc8d0 Mon Sep 17 00:00:00 2001 | ||||
| From: Carlos Garnacho <carlosg@gnome.org> | ||||
| Date: Sun, 29 Apr 2018 16:28:04 +0200 | ||||
| Subject: [PATCH] keyboardManager: Preserve current keymap across reloads | ||||
| 
 | ||||
| The IM can pretty much update the input sources anytime (even if | ||||
| to set the same ones). That ends up triggering rebuilding all user | ||||
| defined keymaps, and losing modifier state if we are unfortunate | ||||
| enough that this caught us while pressing one. | ||||
| 
 | ||||
| One common situation seems to be password entries, resulting in | ||||
| the wrong character being printed if the first character happens | ||||
| to require the shift key. | ||||
| 
 | ||||
| If the current keymap is not found in the newly loaded list, | ||||
| this._current will end up null, with the same behavior as we get | ||||
| currently (immediate keymap reload). | ||||
| 
 | ||||
| https://bugzilla.redhat.com/show_bug.cgi?id=1569211 | ||||
| 
 | ||||
| https://gitlab.gnome.org/GNOME/gnome-shell/issues/240 | ||||
| 
 | ||||
| Closes: #240 | ||||
| ---
 | ||||
|  js/misc/keyboardManager.js | 4 ++++ | ||||
|  1 file changed, 4 insertions(+) | ||||
| 
 | ||||
| diff --git a/js/misc/keyboardManager.js b/js/misc/keyboardManager.js
 | ||||
| index b8984fe98..3f0bad282 100644
 | ||||
| --- a/js/misc/keyboardManager.js
 | ||||
| +++ b/js/misc/keyboardManager.js
 | ||||
| @@ -89,6 +89,7 @@ var KeyboardManager = new Lang.Class({
 | ||||
|      }, | ||||
|   | ||||
|      setUserLayouts(ids) { | ||||
| +        let currentId = this._current ? this._current.id : null;
 | ||||
|          this._current = null; | ||||
|          this._layoutInfos = {}; | ||||
|   | ||||
| @@ -115,6 +116,9 @@ var KeyboardManager = new Lang.Class({
 | ||||
|              info.group = group; | ||||
|              info.groupIndex = groupIndex; | ||||
|   | ||||
| +            if (id == currentId)
 | ||||
| +                this._current = info;
 | ||||
| +
 | ||||
|              i += 1; | ||||
|          } | ||||
|      }, | ||||
| -- 
 | ||||
| 2.17.0 | ||||
| 
 | ||||
| @ -1,6 +1,6 @@ | ||||
| Name:           gnome-shell | ||||
| Version:        3.29.1 | ||||
| Release:        1%{?dist} | ||||
| Release:        2%{?dist} | ||||
| Summary:        Window management and application launching for GNOME | ||||
| 
 | ||||
| Group:          User Interface/Desktops | ||||
| @ -13,6 +13,10 @@ Source0:        http://download.gnome.org/sources/gnome-shell/3.29/%{name}-%{ver | ||||
| # Replace Epiphany with Firefox in the default favourite apps list | ||||
| Patch1: gnome-shell-favourite-apps-firefox.patch | ||||
| 
 | ||||
| # Fix problems when first character in password entry uses a modifier | ||||
| # key - GGO#240, RHBZ #1569211, backported from upstream master | ||||
| Patch2: 0001-keyboardManager-Preserve-current-keymap-across-reloa.patch | ||||
| 
 | ||||
| %define gnome_bluetooth_version 1:3.9.0 | ||||
| %define gobject_introspection_version 1.45.4 | ||||
| %define gjs_version 1.51.90 | ||||
| @ -119,6 +123,7 @@ easy to use experience. | ||||
| %prep | ||||
| %setup -q | ||||
| %patch1 -p1 -b .firefox | ||||
| %patch2 -p1 -b .preserve-keymap | ||||
| 
 | ||||
| %build | ||||
| %meson | ||||
| @ -184,6 +189,9 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null | ||||
| %{_mandir}/man1/%{name}.1.gz | ||||
| 
 | ||||
| %changelog | ||||
| * Sun Apr 29 2018 Adam Williamson <awilliam@redhat.com> - 3.29.1-2 | ||||
| - Backport fix for password entry modifier key issues (#1569211) | ||||
| 
 | ||||
| * Wed Apr 25 2018 Florian Müllner <fmuellner@redhat.com> - 3.29.1-1 | ||||
| - Update to 3.29.1 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user