1
0
Fork 0

x11/window: Do not try to compare a wayland active window with X11

If a window sends a configure stacking request, we were comparing the
active window with the event window even though they were different
client types (e.g. wayland and x11).

This was leading to a critical error, so let's handle this by ensuring
that the active window is of the same kind of the event window before
doing x11-specific checks. Behaving as different applications in case.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3727>
This commit is contained in:
Marco Trevisan (Treviño) 2024-05-01 02:52:59 +02:00 committed by Marge Bot
parent f3a52551f1
commit 2a88a3eb96

View file

@ -2861,8 +2861,9 @@ meta_window_x11_configure_request (MetaWindow *window,
window->desc);
}
else if (active_window &&
!meta_window_x11_same_application (window, active_window) &&
!meta_window_same_client (window, active_window) &&
(active_window->client_type != window->client_type ||
(!meta_window_x11_same_application (window, active_window) &&
!meta_window_same_client (window, active_window))) &&
XSERVER_TIME_IS_BEFORE (window->net_wm_user_time,
active_window->net_wm_user_time))
{