forked from AuroraMiddleware/gtk
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:
parent
5311616ca1
commit
f40ce51a13
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user