ELOGF("COMPOSITOR", "Desroy E_Surface %p", surface->ec, surface);
+ wl_signal_emit(&surface->events.destroy, surface);
+
g_mutex_lock(&surface->base.surface_mutex);
wl_signal_emit(&surface->base.destroy_signal, &surface->base.surface);
surface = wl_container_of(listener, surface, destroy);
- wl_signal_emit(&surface->events.destroy, surface);
-
wl_list_remove(&surface->destroy.link);
wl_list_remove(&surface->precommit_to_cache.link);
wl_list_remove(&surface->precommit_from_cache.link);