diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-12-18 14:59:17 +0100 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2021-02-14 13:23:29 +0000 |
commit | 437f5d1c663e5d5467ad57d287181a7a7dbc978c (patch) | |
tree | 6861175780fc8a88e5fb560b25ab67f11e95fd32 /src/compositor/meta-compositor-x11.c | |
parent | 00c7f45a0f799bf29957c19f8652bf9348a774c0 (diff) | |
download | mutter-437f5d1c663e5d5467ad57d287181a7a7dbc978c.tar.gz |
compositor: Sync pointer after begin/end modal on X11
Ensure we issue a motion event for the current pointer position,
as there might be situations where compositor modals get X grabs
from other clients stacked on top, or missed events in between
otherwise.
Ensure the Clutter state is still up-to-date afterwards here. This
replaces some sync_pointer() calls done in GNOME Shell code, always
done after modality changes.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1659>
Diffstat (limited to 'src/compositor/meta-compositor-x11.c')
-rw-r--r-- | src/compositor/meta-compositor-x11.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compositor/meta-compositor-x11.c b/src/compositor/meta-compositor-x11.c index 6cfdef52b..27999fbae 100644 --- a/src/compositor/meta-compositor-x11.c +++ b/src/compositor/meta-compositor-x11.c @@ -442,11 +442,17 @@ meta_compositor_x11_monotonic_to_high_res_xserver_time (MetaCompositor *composit static void meta_compositor_x11_grab_begin (MetaCompositor *compositor) { + MetaBackendX11 *backend_x11 = META_BACKEND_X11 (meta_get_backend ()); + + meta_backend_x11_sync_pointer (backend_x11); } static void meta_compositor_x11_grab_end (MetaCompositor *compositor) { + MetaBackendX11 *backend_x11 = META_BACKEND_X11 (meta_get_backend ()); + + meta_backend_x11_sync_pointer (backend_x11); } Window |