mutter/src/x11
Carlos Garnacho 54e4d1df79 x11: Defer ClutterStage focus actor change until window is focused
If we happen to be changing focus to a window *while* taking focus
away from Clutter widgetry, we would unintendedly trigger reentrance
in a way that the old focused window remained in focus, by asking
to focus the default focus window in an untimely manner.

To handle this reentrancy, delay dropping the Clutter key focus
until the window focus changed, so that the focus change will look
up the default focused window in the workspace, and find the up to
date one.

Fixes: ae102ee301 ("x11: Refactor ClutterStage key focus management")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3467>
2024-01-10 20:56:24 +01:00
..
atomnames.h x11: Simplify handling of focus-follows-mouse 2023-09-28 15:39:44 +00:00
events.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
events.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
group-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
group-props.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
group-props.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
group.c window: Move xgroup_leader to WindowX11 2024-01-09 18:59:36 +00:00
meta-selection-source-x11-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-selection-source-x11.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-startup-notification-x11.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-startup-notification-x11.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-sync-counter.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-sync-counter.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-x11-display-private.h x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-x11-display.c x11: Defer ClutterStage focus actor change until window is focused 2024-01-10 20:56:24 +01:00
meta-x11-event-source.c Update license access method 2023-08-30 08:48:23 +02:00
meta-x11-event-source.h Update license access method 2023-08-30 08:48:23 +02:00
meta-x11-selection-input-stream-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-x11-selection-input-stream.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-x11-selection-output-stream-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-x11-selection-output-stream.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-x11-selection-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-x11-selection.c Update license access method 2023-08-30 08:48:23 +02:00
meta-x11-stack-private.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-x11-stack.c window: Move xwindow to WindowX11 2024-01-09 18:59:36 +00:00
mutter-Xatomtype.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
session.c cleanup: Fix various typos 2023-08-12 20:13:37 +00:00
session.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
window-props.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
window-props.h cleanup: Fix various typos 2023-08-12 20:13:37 +00:00
window-x11-private.h window: Move has_pointer_x11 to WindowX11 2024-01-09 18:59:36 +00:00
window-x11.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
window-x11.h window: Move xwindow to WindowX11 2024-01-09 18:59:36 +00:00
xprops.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
xprops.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00