gnome-shell/js/misc
Carlos Garnacho f5996a9232 inputMethod: Compare ibus context before processing key event result
In the xwayland-on-demand scenario, it may happen that Xwayland is
shutdown (causing a restart of ibus-daemon to drop ibus-x11) while
we are typing.

If we have a bit of bad luck, this will cause the IBusInputContext
to be disposed (due to its bus "closing") at a time when we have
an ibus_input_context_process_key_event_async() request on the fly.

As the object is disposed in between this would tickle JS (rightfully
complaining that it's been disposed under its feet) and make us pass
an actually NULL IBusInputContext to the corresponding _finish()
function (despite the IBusInputContext being still held alive by some
other refs). This will assert and abort in
ibus_input_context_process_key_event_async_finish() then.

To handle this, listen for IBusInputContext::destroy, and reset our
internal state, this way we can compare on the JS side that the
IBusInputContext is indeed an up-to-date one.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/813
2019-11-08 12:23:15 +00:00
..
config.js.in fileUtils: Add helper for loading D-Bus XML from resource 2018-09-17 07:34:49 +00:00
extensionUtils.js extensionUtils: Check version variable for undefined first 2019-09-12 10:24:49 +00:00
fileUtils.js cleanup: Use more template strings 2019-11-05 01:51:29 +00:00
gnomeSession.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
history.js cleanup: Remove trailing spaces 2019-09-15 16:02:45 +02:00
ibusManager.js ibusManager: Cancel the preload engines timeout on clear 2019-10-02 18:19:53 +02:00
inputMethod.js inputMethod: Compare ibus context before processing key event result 2019-11-08 12:23:15 +00:00
introspect.js introspect: Check whitelist also for GetRunningWindows() 2019-09-18 16:17:25 +00:00
jsParse.js cleanup: Disambiguate assignments in arrow functions 2019-09-15 16:02:45 +02:00
keyboardManager.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
loginManager.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
meson.build networkAgent: Pick up VPN service dir from pkg-config 2018-01-22 08:44:19 +01:00
modemManager.js cleanup: Fix up "special" comments 2019-09-15 16:02:45 +02:00
objectManager.js cleanup: Prefer template strings 2019-07-05 11:32:31 +00:00
params.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
permissionStore.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
smartcardManager.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
systemActions.js cleanup: Avoid unnecessary parentheses in arrow functions 2019-09-15 16:02:45 +02:00
util.js st: Remove StBin's align properties 2019-11-04 21:27:56 +01:00
weather.js weather: Pick up original settings values 2019-08-07 18:53:41 +00:00