parent
							
								
									e902c6d13a
								
							
						
					
					
						commit
						f45a6d93c0
					
				| @ -0,0 +1,68 @@ | |||||||
|  | From ccc59673827f9e36b7374fcf03de94d1b1513550 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Carlos Garnacho <carlosg@gnome.org> | ||||||
|  | Date: Mon, 22 Oct 2018 22:06:36 +0000 | ||||||
|  | Subject: [PATCH] keyboardManager: Avoid idempotent calls to | ||||||
|  |  meta_backend_set_keymap() | ||||||
|  | 
 | ||||||
|  | But still try to apply the keymap whenever the input sources changed. This | ||||||
|  | is a different approach to gnome-shell#240 that still avoid redundant | ||||||
|  | changes to the current keymap, but actually trigger one when input sources | ||||||
|  | are added. | ||||||
|  | 
 | ||||||
|  | https://bugzilla.redhat.com/show_bug.cgi?id=1637418 | ||||||
|  | 
 | ||||||
|  | Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/691 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | (cherry picked from commit b405ed64427a9d518d1714df678d04ad11267e15) | ||||||
|  | ---
 | ||||||
|  |  js/misc/keyboardManager.js | 14 +++++++++----- | ||||||
|  |  1 file changed, 9 insertions(+), 5 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/js/misc/keyboardManager.js b/js/misc/keyboardManager.js
 | ||||||
|  | index ae59f0014..f4001f130 100644
 | ||||||
|  | --- a/js/misc/keyboardManager.js
 | ||||||
|  | +++ b/js/misc/keyboardManager.js
 | ||||||
|  | @@ -52,11 +52,20 @@ var KeyboardManager = new Lang.Class({
 | ||||||
|  |          this._current = null; | ||||||
|  |          this._localeLayoutInfo = this._getLocaleLayout(); | ||||||
|  |          this._layoutInfos = {}; | ||||||
|  | +        this._currentKeymap = null;
 | ||||||
|  |      }, | ||||||
|  |   | ||||||
|  |      _applyLayoutGroup(group) { | ||||||
|  |          let options = this._buildOptionsString(); | ||||||
|  |          let [layouts, variants] = this._buildGroupStrings(group); | ||||||
|  | +
 | ||||||
|  | +        if (this._currentKeymap &&
 | ||||||
|  | +            this._currentKeymap.layouts == layouts &&
 | ||||||
|  | +            this._currentKeymap.variants == variants &&
 | ||||||
|  | +            this._currentKeymap.options == options)
 | ||||||
|  | +            return;
 | ||||||
|  | +
 | ||||||
|  | +        this._currentKeymap = {layouts, variants, options};
 | ||||||
|  |          Meta.get_backend().set_keymap(layouts, variants, options); | ||||||
|  |      }, | ||||||
|  |   | ||||||
|  | @@ -89,8 +98,6 @@ var KeyboardManager = new Lang.Class({
 | ||||||
|  |      }, | ||||||
|  |   | ||||||
|  |      setUserLayouts(ids) { | ||||||
|  | -        let currentId = this._current ? this._current.id : null;
 | ||||||
|  | -        let currentGroupIndex = this._current ? this._current.groupIndex : null;
 | ||||||
|  |          this._current = null; | ||||||
|  |          this._layoutInfos = {}; | ||||||
|  |   | ||||||
|  | @@ -117,9 +124,6 @@ var KeyboardManager = new Lang.Class({
 | ||||||
|  |              info.group = group; | ||||||
|  |              info.groupIndex = groupIndex; | ||||||
|  |   | ||||||
|  | -            if (currentId == id && currentGroupIndex == groupIndex)
 | ||||||
|  | -                this._current = info;
 | ||||||
|  | -
 | ||||||
|  |              i += 1; | ||||||
|  |          } | ||||||
|  |      }, | ||||||
|  | -- 
 | ||||||
|  | 2.19.1 | ||||||
|  | 
 | ||||||
| @ -1,6 +1,6 @@ | |||||||
| Name:           gnome-shell | Name:           gnome-shell | ||||||
| Version:        3.30.1 | Version:        3.30.1 | ||||||
| Release:        1%{?dist} | Release:        2%{?dist} | ||||||
| Summary:        Window management and application launching for GNOME | Summary:        Window management and application launching for GNOME | ||||||
| 
 | 
 | ||||||
| Group:          User Interface/Desktops | Group:          User Interface/Desktops | ||||||
| @ -18,6 +18,9 @@ Patch1: gnome-shell-favourite-apps-firefox.patch | |||||||
| Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch | Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch | ||||||
| Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch | Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch | ||||||
| 
 | 
 | ||||||
|  | # Backport keyboard layout change fixes (rhbz#1637418) | ||||||
|  | Patch4: 0001-keyboardManager-Avoid-idempotent-calls-to-meta_backe.patch | ||||||
|  | 
 | ||||||
| %define libcroco_version 0.6.8 | %define libcroco_version 0.6.8 | ||||||
| %define eds_version 3.17.2 | %define eds_version 3.17.2 | ||||||
| %define gnome_desktop_version 3.7.90 | %define gnome_desktop_version 3.7.90 | ||||||
| @ -214,6 +217,9 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null | |||||||
| %{_mandir}/man1/%{name}.1.gz | %{_mandir}/man1/%{name}.1.gz | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Tue Oct 23 2018 Jonas Ådahl <jadahl@redhat.com> - 3.30.1-2 | ||||||
|  | - Backport keyboard layout change fixes (rhbz#1637418) | ||||||
|  | 
 | ||||||
| * Mon Oct 08 2018 Florian Müllner <fmuellner@redhat.com> - 3.30.1-1 | * Mon Oct 08 2018 Florian Müllner <fmuellner@redhat.com> - 3.30.1-1 | ||||||
| - Update to 3.30.1 | - Update to 3.30.1 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user