
Commit 764527c8c9b7659901eb6296a6859ae2b0eabdb8 not only ports this file to Promises but also changes the behavior of _initPanelService method. Instead of always calling _updateReadiness when _panelService is ready, it only calls it when get_global_engine_async succeeds. The only callers of _updateReadiness are _initEngines and _initPanelService. Assume that _initEngines completes first. Its _updateReadiness call keeps _ready as false and it is expected for _initPanelService to change it to true. However, since get_global_engine_async fails because there is no active engine, _initPanelService never calls _updateReadiness. Therefore, all setEngine calls do nothing because _ready is false, and the input method panel never shows. Users are unable to use any input method even if they can see that ibus-daemon is already running. Fix the issue by changing it back to the old behavior. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1235
GNOME Shell
GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a visually attractive and easy to use experience.
For more information about GNOME Shell, including instructions on how to build GNOME Shell from source and how to get involved with the project, see the project wiki.
Bugs should be reported to the GNOME bug tracking system.
Contributing
To contribute, open merge requests at https://gitlab.gnome.org/GNOME/gnome-shell.
Commit messages should follow the GNOME commit message guidelines. We require an URL to either an issue or a merge request in each commit.
License
GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.