switcherPopup: Use roundtrip time when the popup is modifier-less
The noModsTimeout obviously finishes inside a timeout callback, which means `global.get_current_time()` might return Clutter.CURRENT_TIME (ie. 0) when called inside it, because it's not called while handling an event. This means when switching apps or activating a window, the timestamp passed to `activate_window` may be 0, which is the reason why the altTab switcher is currently broken when using modifier-less keybindings. Fix that by using `meta_display_get_current_time_roundtrip`, which always return a valid timestamp, instead of `shell_global_get_current_time`. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/847
This commit is contained in:
parent
8d2365b7b9
commit
a6e4ef862c
@ -270,7 +270,7 @@ var SwitcherPopup = GObject.registerClass({
|
||||
GLib.PRIORITY_DEFAULT,
|
||||
NO_MODS_TIMEOUT,
|
||||
() => {
|
||||
this._finish(global.get_current_time());
|
||||
this._finish(global.display.get_current_time_roundtrip());
|
||||
this._noModsTimeoutId = 0;
|
||||
return GLib.SOURCE_REMOVE;
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user