* illumine: Cleanup handler destruction.

SVN revision: 39828
This commit is contained in:
Cedric BAIL 2009-04-01 16:57:29 +00:00
parent e33ba2d5f0
commit 782923ada6
11 changed files with 48 additions and 41 deletions

View File

@ -223,13 +223,11 @@ e_appwin_border_select_callback_set(E_Appwin *esw, void (*func) (void *data, E_A
static void
_e_appwin_free(E_Appwin *esw)
{
Ecore_Event_Handler *handle;
appwins = eina_list_remove(appwins, esw);
while (esw->handlers)
{
if (esw->handlers->data)
ecore_event_handler_del(esw->handlers->data);
esw->handlers = eina_list_remove_list(esw->handlers, esw->handlers);
}
EINA_LIST_FREE(esw->handlers, handle)
ecore_event_handler_del(handle);
if (esw->animator) ecore_animator_del(esw->animator);
if (esw->themedir) evas_stringshare_del(esw->themedir);
ecore_x_window_del(esw->clickwin);

View File

@ -115,14 +115,12 @@ e_busycover_pop(E_Busycover *esw, E_Busycover_Handle *handle)
static void
_e_busycover_free(E_Busycover *esw)
{
Ecore_Event_Handler *handle;
if (esw->base_obj) evas_object_del(esw->base_obj);
busycovers = eina_list_remove(busycovers, esw);
while (esw->handlers)
{
if (esw->handlers->data)
ecore_event_handler_del(esw->handlers->data);
esw->handlers = eina_list_remove_list(esw->handlers, esw->handlers);
}
EINA_LIST_FREE(esw->handlers, handle)
ecore_event_handler_del(handle);
if (esw->themedir) evas_stringshare_del(esw->themedir);
free(esw);
}

View File

@ -148,7 +148,7 @@ _e_fluanch_cb_home_button(void *data)
static void
_e_flaunch_free(E_Flaunch *fl)
{
Ecore_Event *ev;
Ecore_Event_Handler *handle;
if (fl->repopulate_timer) ecore_timer_del(fl->repopulate_timer);
_e_flaunch_apps_clear(fl);
@ -156,8 +156,8 @@ _e_flaunch_free(E_Flaunch *fl)
evas_stringshare_del(fl->themedir);
evas_object_del(fl->app_box_obj);
evas_object_del(fl->box_obj);
EINA_LIST_FREE(fl->handlers, ev)
ecore_event_handler_del(ev);
EINA_LIST_FREE(fl->handlers, handle)
ecore_event_handler_del(handle);
free(fl);
}

View File

@ -955,14 +955,14 @@ EAPI int
e_kbd_shutdown(void)
{
E_Border_Hook *bh;
Ecore_Event *ev;
Ecore_Event_Handler *handle;
_e_kbd_apply_all_job_queue_end();
_e_kbd_dbus_real_kbd_shutdown();
EINA_LIST_FREE(border_hooks, bh)
e_border_hook_del(bh);
EINA_LIST_FREE(handlers, ev)
ecore_event_handler_del(ev);
EINA_LIST_FREE(handlers, handle)
ecore_event_handler_del(handle);
focused_border = NULL;
focused_vkbd_state = 0;
mod = NULL;

View File

@ -144,6 +144,8 @@ _e_mod_layout_init(E_Module *m)
void
_e_mod_layout_shutdown(void)
{
Ecore_Event_Handler *handle;
if (hook1)
{
e_border_hook_del(hook1);
@ -159,6 +161,9 @@ _e_mod_layout_shutdown(void)
e_border_hook_del(hook3);
hook3 = NULL;
}
EINA_LIST_FREE(handlers, handle)
ecore_event_handler_del(handle);
}
void

View File

@ -185,6 +185,8 @@ _e_mod_win_init(E_Module *m)
void
_e_mod_win_shutdown(void)
{
Ecore_Event_Handler *handle;
_app_clear();
if (sys_con_act_close)
{
@ -225,6 +227,9 @@ _e_mod_win_shutdown(void)
appwin = NULL;
e_object_del(E_OBJECT(syswin));
syswin = NULL;
EINA_LIST_FREE(handlers, handle)
ecore_event_handler_del(handle);
}
static Ecore_Exe *_kbd_exe = NULL;
@ -302,6 +307,9 @@ e_mod_win_cfg_kbd_stop(void)
ecore_exe_interrupt(_kbd_exe);
_kbd_exe = NULL;
}
if (_kbd_exe_exit_handler)
ecore_event_handler_del(_kbd_exe_exit_handler);
_kbd_exe_exit_handler = NULL;
}
void

View File

@ -224,6 +224,8 @@ e_simplelock_show(void)
EAPI void
e_simplelock_hide(void)
{
Ecore_Event_Handler *handle;
if (!locks) return;
e_grabinput_release(grab_win, grab_win);
while (locks)
@ -237,6 +239,9 @@ e_simplelock_hide(void)
locks = eina_list_remove_list(locks, locks);
}
grab_win = 0;
EINA_LIST_FREE(handlers, handle)
ecore_event_handler_del(handle);
}
static Evas_Object *

View File

@ -459,16 +459,14 @@ e_slipshelf_border_home_callback_set(E_Slipshelf *ess, void (*func) (void *data,
static void
_e_slipshelf_free(E_Slipshelf *ess)
{
Ecore_Event_Handler *handle;
if (ess->slide_down_timer) ecore_timer_del(ess->slide_down_timer);
slipshelves = eina_list_remove(slipshelves, ess);
e_object_del(E_OBJECT(ess->gadcon));
e_object_del(E_OBJECT(ess->gadcon_extra));
while (ess->handlers)
{
if (ess->handlers->data)
ecore_event_handler_del(ess->handlers->data);
ess->handlers = eina_list_remove_list(ess->handlers, ess->handlers);
}
EINA_LIST_FREE(ess->handlers, handle)
ecore_event_handler_del(handle);
if (ess->animator) ecore_animator_del(ess->animator);
if (ess->themedir) evas_stringshare_del(ess->themedir);
if (ess->default_title) evas_stringshare_del(ess->default_title);

View File

@ -211,13 +211,11 @@ e_slipwin_border_select_callback_set(E_Slipwin *esw, void (*func) (void *data, E
static void
_e_slipwin_free(E_Slipwin *esw)
{
Ecore_Event_Handler *handle;
slipwins = eina_list_remove(slipwins, esw);
while (esw->handlers)
{
if (esw->handlers->data)
ecore_event_handler_del(esw->handlers->data);
esw->handlers = eina_list_remove_list(esw->handlers, esw->handlers);
}
EINA_LIST_FREE(esw->handlers, handle)
ecore_event_handler_del(handle);
if (esw->animator) ecore_animator_del(esw->animator);
if (esw->themedir) evas_stringshare_del(esw->themedir);
ecore_x_window_del(esw->clickwin);

View File

@ -211,13 +211,11 @@ e_syswin_border_select_callback_set(E_Syswin *esw, void (*func) (void *data, E_S
static void
_e_syswin_free(E_Syswin *esw)
{
Ecore_Event_Handler *handle;
syswins = eina_list_remove(syswins, esw);
while (esw->handlers)
{
if (esw->handlers->data)
ecore_event_handler_del(esw->handlers->data);
esw->handlers = eina_list_remove_list(esw->handlers, esw->handlers);
}
EINA_LIST_FREE(esw->handlers, handle)
ecore_event_handler_del(handle);
if (esw->animator) ecore_animator_del(esw->animator);
if (esw->themedir) evas_stringshare_del(esw->themedir);
ecore_x_window_del(esw->clickwin);

View File

@ -69,11 +69,10 @@ e_winilist_init(void)
EAPI int
e_winilist_shutdown(void)
{
while (handlers)
{
ecore_event_handler_del(handlers->data);
handlers = eina_list_remove_list(handlers, handlers);
}
Ecore_Event_Handler *handle;
EINA_LIST_FREE(handlers, handle)
ecore_event_handler_del(handle);
return 1;
}