forked from rpms/gnome-shell
50 lines
1.9 KiB
Diff
50 lines
1.9 KiB
Diff
From e08a4acd06d59cb94585e291356ec591d4779910 Mon Sep 17 00:00:00 2001
|
|
From: Ting-Wei Lan <lantw@src.gnome.org>
|
|
Date: Sun, 3 May 2020 23:26:39 +0800
|
|
Subject: [PATCH] ibusManager: Fix the panel after porting to Promises
|
|
|
|
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
|
|
---
|
|
js/misc/ibusManager.js | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/js/misc/ibusManager.js b/js/misc/ibusManager.js
|
|
index e8cfead2c..d9a9a9d60 100644
|
|
--- a/js/misc/ibusManager.js
|
|
+++ b/js/misc/ibusManager.js
|
|
@@ -171,13 +171,13 @@ var IBusManager = class {
|
|
this._panelService.connect('set-content-type', this._setContentType.bind(this));
|
|
} catch (e) {
|
|
}
|
|
+ this._updateReadiness();
|
|
|
|
try {
|
|
// If an engine is already active we need to get its properties
|
|
const engine =
|
|
await this._ibus.get_global_engine_async(-1, this._cancellable);
|
|
this._engineChanged(this._ibus, engine.get_name());
|
|
- this._updateReadiness();
|
|
} catch (e) {
|
|
}
|
|
}
|
|
--
|
|
2.26.2
|
|
|