mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 14:31:10 +00:00
wayland/surface: Destroy toplevel present callback if ignored
We might break the loop early, e.g. if we're unmapped before the round trip finishes, and to avoid the callback to write to invalid stack memory, destroy the callback so it won't be invoked. Fixes: #3026
This commit is contained in:
parent
3590923c8b
commit
c27f811462
@ -4814,6 +4814,9 @@ gdk_wayland_toplevel_present (GdkToplevel *toplevel,
|
||||
(!impl->initial_configure_received || !done))
|
||||
wl_display_dispatch_queue (display_wayland->wl_display, impl->event_queue);
|
||||
|
||||
if (!done)
|
||||
wl_callback_destroy (callback);
|
||||
|
||||
if (needs_reconfigure &&
|
||||
last_configure_serial == impl->last_configure_serial &&
|
||||
!(surface->state & (GDK_SURFACE_STATE_MAXIMIZED |
|
||||
|
Loading…
Reference in New Issue
Block a user