[gnome-shell/gnome-42] status: Use fixed sorting of input sources on empty MRU



commit ee05ecf3d8640da8fd40e46b01208f740d3b7f7b
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Sep 14 20:20:14 2022 +0200

    status: Use fixed sorting of input sources on empty MRU
    
    When updating the MRU sources if there was no prior MRU, we want
    to go with the unmodified list of sources in visibility order.
    
    However iterating over object properties happens in an undetermined
    order, so the initial MRU list ends up picking a value at random.
    
    In order to prefer the sources list in the same order than they
    appear in the menu if there was no prior MRU, order the keys
    when accessing it and building the initial list of sources.
    
    Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873
    (cherry picked from commit 5e3353ef22f84d3f61d494e3171f5d4295308a6c)

 js/ui/status/keyboard.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
index 15b4ddb6f4..fcee0bdffd 100644
--- a/js/ui/status/keyboard.js
+++ b/js/ui/status/keyboard.js
@@ -488,7 +488,7 @@ var InputSourceManager = class {
 
     _updateMruSources() {
         let sourcesList = [];
-        for (let i in this._inputSources)
+        for (let i of Object.keys(this._inputSources).sort((a, b) => a - b))
             sourcesList.push(this._inputSources[i]);
 
         this._keyboardManager.setUserLayouts(sourcesList.map(x => x.xkbId));


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