VS_INF(grab->vc->ec, "TIMEOUT(%f) Grab %s", e_config->deiconify_pending_timeout, grab->name);
grab->deleted = 1;
_e_vis_client_grab_remove(grab->vc, grab);
+
+ grab->timer = NULL;
return ECORE_CALLBACK_DONE;
}
{
VS_INF(vc->ec, "Visibility changed while waiting Uniconify. Release grab.");
E_FREE_FUNC(vc->grab, _e_vis_grab_release);
+
+ E_Vis_Grab *grab;
+ EINA_LIST_FREE(vc->wait_buf_attach_grab_list, grab)
+ {
+ E_FREE_FUNC(grab, _e_vis_grab_release);
+ }
+ vc->wait_buf_attach_grab_list = NULL;
+
return EINA_TRUE;
}
grab->deleted = 1;
_e_vis_client_grab_remove(grab->vc, grab);
+ grab->timer = NULL;
+
return ECORE_CALLBACK_DONE;
}
E_VIS_CLIENT_GET_OR_RETURN(vc, ec);
if (vc->job.count)
{
- VS_DBG(ec, "REF Delay Del");
+ VS_INF(ec, "REF Delay Del");
e_pixmap_ref(ec->pixmap);
e_object_delay_del_ref(obj);
if (vc->grab)
E_FREE_FUNC(vc->grab->timer, ecore_timer_del);
vc->grab->timer = ecore_timer_add(E_CLEAR_GRAB_TIMEOUT, _e_vis_client_grab_clear_cb, vc->grab);
}
+
+ E_Vis_Grab *grab;
+ Eina_List *l;
+ EINA_LIST_FOREACH(vc->wait_buf_attach_grab_list, l, grab)
+ {
+ E_FREE_FUNC(grab->timer, ecore_timer_del);
+ grab->timer = ecore_timer_add(E_CLEAR_GRAB_TIMEOUT, _e_vis_client_grab_clear_cb, grab);
+ }
}
}
/* FIXME delete all grab and evaluate it instead of exec */
_e_vis_job_exec(&job->entry);
_e_vis_job_eval();
+ job->timer = NULL;
return ECORE_CALLBACK_DONE;
}
{
E_Vis_Grab *grab;
- VS_DBG(vc->ec, "CLIENT DEL");
+ VS_INF(vc->ec, "CLIENT DEL");
- eina_list_free(vc->wait_buf_attach_grab_list);
+ EINA_LIST_FREE(vc->wait_buf_attach_grab_list, grab)
+ {
+ VS_INF(vc->ec, "Remove remain grab(%p) in wait_buf_attach list", grab);
+ E_FREE_FUNC(grab, _e_vis_grab_release);
+ }
vc->wait_buf_attach_grab_list = NULL;
E_FREE_FUNC(vc->grab, _e_vis_grab_release);
vc->state = E_VIS_ICONIFY_STATE_ICONIC;
VS_DBG(vc->ec, "\tUPDATE ICONIC STATE: %s", STATE_STR(vc));
E_FREE_FUNC(vc->grab, _e_vis_grab_release);
+
+ E_Vis_Grab *grab;
+ EINA_LIST_FREE(vc->wait_buf_attach_grab_list, grab)
+ {
+ E_FREE_FUNC(grab, _e_vis_grab_release);
+ }
+ vc->wait_buf_attach_grab_list = NULL;
}
return ret;