ibusManager: Close candidate popup upon engine change
The IBusCandidatePopup can get 'stuck' in an active, visible state if it is on-screen at the point when the input method is changed to a method that doesn't use such popup (e.g. regular English). Force the candidate popup to close when the engine is changed. It will reappear (via regular lookup table update signal) if/when it is next required. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6717 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2774>
This commit is contained in:
parent
614103ae4b
commit
fa34d30d3e
@ -3,6 +3,7 @@
|
||||
|
||||
const { Gio, GLib, IBus, Meta, Shell } = imports.gi;
|
||||
const Signals = imports.misc.signals;
|
||||
const BoxPointer = imports.ui.boxpointer;
|
||||
|
||||
const IBusCandidatePopup = imports.ui.ibusCandidatePopup;
|
||||
|
||||
@ -253,6 +254,7 @@ var IBusManager = class extends Signals.EventEmitter {
|
||||
return;
|
||||
|
||||
this._currentEngineName = engineName;
|
||||
this._candidatePopup.close(BoxPointer.PopupAnimation.NONE);
|
||||
|
||||
if (this._registerPropertiesId != 0)
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user