x11: Don't try to move destroyed windows

Fixes BadWindow crashes when the resize happen right when tooltips or
other such transient popups were in the process of being destroyed.
This commit is contained in:
Benjamin Otte 2021-10-11 19:22:46 +02:00
parent 5311616ca1
commit f40ce51a13

View File

@ -1926,8 +1926,13 @@ gdk_x11_surface_update_popups (GdkSurface *parent)
{ {
GdkX11Surface *popup_impl = l->data; GdkX11Surface *popup_impl = l->data;
GdkSurface *popup = GDK_SURFACE (popup_impl); GdkSurface *popup = GDK_SURFACE (popup_impl);
int new_x = GDK_X11_SURFACE (parent)->abs_x + popup->x; int new_x, new_y;
int new_y = GDK_X11_SURFACE (parent)->abs_y + popup->y;
if (GDK_SURFACE_DESTROYED (popup))
continue;
new_x = GDK_X11_SURFACE (parent)->abs_x + popup->x;
new_y = GDK_X11_SURFACE (parent)->abs_y + popup->y;
if (new_x != popup_impl->abs_x || new_y != popup_impl->abs_y) if (new_x != popup_impl->abs_x || new_y != popup_impl->abs_y)
x11_surface_move (popup, new_x, new_y); x11_surface_move (popup, new_x, new_y);