From: Benjamin Otte Date: Mon, 11 Oct 2021 17:22:46 +0000 (+0200) Subject: x11: Don't try to move destroyed windows X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~5^2~243^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f40ce51a;p=gtk4.git 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. --- diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c index 16e1a3678d..4e2c2e9e11 100644 --- a/gdk/x11/gdksurface-x11.c +++ b/gdk/x11/gdksurface-x11.c @@ -1926,8 +1926,13 @@ gdk_x11_surface_update_popups (GdkSurface *parent) { GdkX11Surface *popup_impl = l->data; GdkSurface *popup = GDK_SURFACE (popup_impl); - int new_x = GDK_X11_SURFACE (parent)->abs_x + popup->x; - int new_y = GDK_X11_SURFACE (parent)->abs_y + popup->y; + int new_x, new_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) x11_surface_move (popup, new_x, new_y);