diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index f364d2dae..57f3b753e 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -2461,16 +2461,14 @@ _e_comp_x_sync_alarm(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event unsigned int serial; E_Client *ec; Eina_Bool resize = EINA_FALSE; - E_Comp_X_Client_Data *cl; ec = _e_comp_x_client_find_by_alarm(ev->alarm); - if (!ec) return ECORE_CALLBACK_RENEW; + if ((!ec) || e_object_is_del(E_OBJECT(ec))) return ECORE_CALLBACK_RENEW; if (ec->netwm.sync.wait) ec->netwm.sync.wait--; - cl = _e_comp_x_client_data_get(ec); - if ((cl) && (ecore_x_sync_counter_query(cl->sync_counter, &serial))) + if (ecore_x_sync_counter_query(_e_comp_x_client_data_get(ec)->sync_counter, &serial)) { E_Client_Pending_Resize *pnd = NULL;