keyboardManager: take group index into account when preserving keymap
commit 642107a2 attempts to avoid resetting the current keymap on spurious input source changes. It does this by checking if the current layout id is found in the new list of layouts and resetting the current layout to the associated match in the list. By not nullifying the current layout, it won't get subsequently reset. Unfortunately, if the order of the list changes, resetting the current keymap is still necessary, since the order corresponds with the index of the activated group. This commit changes the code to nullify the current layout if its group index changes. https://bugzilla.redhat.com/show_bug.cgi?id=1573923
This commit is contained in:
parent
a49fb90d86
commit
2997e4950b
@ -90,6 +90,7 @@ 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 = {};
|
||||
|
||||
@ -116,7 +117,7 @@ var KeyboardManager = new Lang.Class({
|
||||
info.group = group;
|
||||
info.groupIndex = groupIndex;
|
||||
|
||||
if (id == currentId)
|
||||
if (currentId == id && currentGroupIndex == groupIndex)
|
||||
this._current = info;
|
||||
|
||||
i += 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user