From 782923ada65a74d5d075928d5a8f3fae74bda403 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 1 Apr 2009 16:57:29 +0000 Subject: [PATCH] * illumine: Cleanup handler destruction. SVN revision: 39828 --- src/modules/illume/e_appwin.c | 10 ++++------ src/modules/illume/e_busycover.c | 10 ++++------ src/modules/illume/e_flaunch.c | 6 +++--- src/modules/illume/e_kbd.c | 6 +++--- src/modules/illume/e_mod_layout.c | 5 +++++ src/modules/illume/e_mod_win.c | 8 ++++++++ src/modules/illume/e_simplelock.c | 5 +++++ src/modules/illume/e_slipshelf.c | 10 ++++------ src/modules/illume/e_slipwin.c | 10 ++++------ src/modules/illume/e_syswin.c | 10 ++++------ src/modules/illume/e_winilist.c | 9 ++++----- 11 files changed, 48 insertions(+), 41 deletions(-) diff --git a/src/modules/illume/e_appwin.c b/src/modules/illume/e_appwin.c index 91edaee6d..bfa2d0597 100644 --- a/src/modules/illume/e_appwin.c +++ b/src/modules/illume/e_appwin.c @@ -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); diff --git a/src/modules/illume/e_busycover.c b/src/modules/illume/e_busycover.c index 2b73265f7..976d5b8bd 100644 --- a/src/modules/illume/e_busycover.c +++ b/src/modules/illume/e_busycover.c @@ -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); } diff --git a/src/modules/illume/e_flaunch.c b/src/modules/illume/e_flaunch.c index f375ca3aa..dcdb70382 100644 --- a/src/modules/illume/e_flaunch.c +++ b/src/modules/illume/e_flaunch.c @@ -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); } diff --git a/src/modules/illume/e_kbd.c b/src/modules/illume/e_kbd.c index 6e3df7522..989df1b56 100644 --- a/src/modules/illume/e_kbd.c +++ b/src/modules/illume/e_kbd.c @@ -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; diff --git a/src/modules/illume/e_mod_layout.c b/src/modules/illume/e_mod_layout.c index 7a8e86171..6edd4a55e 100644 --- a/src/modules/illume/e_mod_layout.c +++ b/src/modules/illume/e_mod_layout.c @@ -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 diff --git a/src/modules/illume/e_mod_win.c b/src/modules/illume/e_mod_win.c index 4742790ab..16760e83f 100644 --- a/src/modules/illume/e_mod_win.c +++ b/src/modules/illume/e_mod_win.c @@ -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 diff --git a/src/modules/illume/e_simplelock.c b/src/modules/illume/e_simplelock.c index 33c1d3d05..dc3b9688f 100644 --- a/src/modules/illume/e_simplelock.c +++ b/src/modules/illume/e_simplelock.c @@ -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 * diff --git a/src/modules/illume/e_slipshelf.c b/src/modules/illume/e_slipshelf.c index 4dc89dda5..403502603 100644 --- a/src/modules/illume/e_slipshelf.c +++ b/src/modules/illume/e_slipshelf.c @@ -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); diff --git a/src/modules/illume/e_slipwin.c b/src/modules/illume/e_slipwin.c index a6fdced57..0a157f56f 100644 --- a/src/modules/illume/e_slipwin.c +++ b/src/modules/illume/e_slipwin.c @@ -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); diff --git a/src/modules/illume/e_syswin.c b/src/modules/illume/e_syswin.c index 73a031569..3c7789f7b 100644 --- a/src/modules/illume/e_syswin.c +++ b/src/modules/illume/e_syswin.c @@ -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); diff --git a/src/modules/illume/e_winilist.c b/src/modules/illume/e_winilist.c index 1eece56fb..313010c25 100644 --- a/src/modules/illume/e_winilist.c +++ b/src/modules/illume/e_winilist.c @@ -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; }