wayland: Do not reset frame list when merging pending state

In the synchronized subsurface case, the destination list may
contain other elements from previous wl_surface.commit calls.
Resetting the list will leave those dangling frame callbacks
that will lead to invalid writes when those get to be destroyed
(eg. on client shutdown).
This commit is contained in:
Carlos Garnacho 2018-04-22 00:44:48 +02:00
parent 8cf42cd06c
commit 44502be560

View File

@ -468,7 +468,6 @@ merge_pending_state (MetaWaylandPendingState *from,
to->dy = from->dy; to->dy = from->dy;
} }
wl_list_init (&to->frame_callback_list);
wl_list_insert_list (&to->frame_callback_list, &from->frame_callback_list); wl_list_insert_list (&to->frame_callback_list, &from->frame_callback_list);
cairo_region_union (to->surface_damage, from->surface_damage); cairo_region_union (to->surface_damage, from->surface_damage);