{
struct wl_resource *cb;
+ g_mutex_lock(&surface->base.surface_mutex);
+
if (surface->base.reparented)
{
/* reset pixmap parent window */
e_client_hook_del(surface->client_del_hook);
+ g_mutex_unlock(&surface->base.surface_mutex);
+
+ g_mutex_clear(&surface->base.surface_mutex);
+
surface->ec->comp_data = NULL;
e_object_unref(E_OBJECT(surface->ec));
free(surface);
TRACE_DS_BEGIN(COMP_WL:CLIENT DEL CB);
g_mutex_clear(&ec->comp_data->last_device_kbd_mutex);
- g_mutex_clear(&ec->comp_data->surface_mutex);
e_comp_wl_hook_call(E_COMP_WL_HOOK_DEL, ec);