more paranoid cleanup of menus

SVN revision: 22283
This commit is contained in:
Carsten Haitzler 2006-04-21 15:54:11 +00:00
parent 1f66c8d000
commit 811083bcba
6 changed files with 57 additions and 10 deletions

View File

@ -1382,7 +1382,12 @@ e_modapi_shutdown(E_Module *m)
e_object_del(E_OBJECT(battery_config->config_dialog));
if (battery_config->battery_check_timer)
ecore_timer_del(battery_config->battery_check_timer);
if (battery_config->menu) e_object_del(E_OBJECT(battery_config->menu));
if (battery_config->menu)
{
e_menu_post_deactivate_callback_set(battery_config->menu, NULL, NULL);
e_object_del(E_OBJECT(battery_config->menu));
battery_config->menu = NULL;
}
free(battery_config);
battery_config = NULL;
E_CONFIG_DD_FREE(conf_edd);

View File

@ -874,11 +874,30 @@ e_modapi_shutdown(E_Module *module)
if (cpufreq_config->frequency_check_timer)
ecore_timer_del(cpufreq_config->frequency_check_timer);
if (cpufreq_config->menu) e_object_del(E_OBJECT(cpufreq_config->menu));
if (cpufreq_config->menu_poll) e_object_del(E_OBJECT(cpufreq_config->menu_poll));
if (cpufreq_config->menu_governor) e_object_del(E_OBJECT(cpufreq_config->menu_governor));
if (cpufreq_config->menu_frequency) e_object_del(E_OBJECT(cpufreq_config->menu_frequency));
if (cpufreq_config->status) _cpufreq_status_free(cpufreq_config->status);
if (cpufreq_config->menu)
{
e_menu_post_deactivate_callback_set(cpufreq_config->menu, NULL, NULL);
e_object_del(E_OBJECT(cpufreq_config->menu));
cpufreq_config->menu = NULL;
}
if (cpufreq_config->menu_poll)
{
e_menu_post_deactivate_callback_set(cpufreq_config->menu_poll, NULL, NULL);
e_object_del(E_OBJECT(cpufreq_config->menu_poll));
cpufreq_config->menu_poll = NULL;
}
if (cpufreq_config->menu_governor)
{
e_menu_post_deactivate_callback_set(cpufreq_config->menu_governor, NULL, NULL);
e_object_del(E_OBJECT(cpufreq_config->menu_governor));
cpufreq_config->menu_governor = NULL;
}
if (cpufreq_config->menu_frequency)
{
e_menu_post_deactivate_callback_set(cpufreq_config->menu_frequency, NULL, NULL);
e_object_del(E_OBJECT(cpufreq_config->menu_frequency));
cpufreq_config->menu_frequency = NULL;
}
if (cpufreq_config->governor)
evas_stringshare_del(cpufreq_config->governor);
free(cpufreq_config);

View File

@ -455,6 +455,7 @@ _ibar_icon_free(IBar_Icon *ic)
if (ibar_config->menu)
{
e_menu_post_deactivate_callback_set(ibar_config->menu, NULL, NULL);
e_object_del(E_OBJECT(ibar_config->menu));
ibar_config->menu = NULL;
}
@ -1157,7 +1158,12 @@ e_modapi_shutdown(E_Module *module)
ecore_event_handler_del(ibar_config->handlers->data);
ibar_config->handlers = evas_list_remove_list(ibar_config->handlers, ibar_config->handlers);
}
if (ibar_config->menu) e_object_del(E_OBJECT(ibar_config->menu));
if (ibar_config->menu)
{
e_menu_post_deactivate_callback_set(ibar_config->menu, NULL, NULL);
e_object_del(E_OBJECT(ibar_config->menu));
ibar_config->menu = NULL;
}
while (ibar_config->items)
{
Config_Item *ci;

View File

@ -1746,7 +1746,12 @@ e_modapi_shutdown(E_Module *module)
pager_config->handlers = evas_list_remove_list(pager_config->handlers, pager_config->handlers);
}
if (pager_config->menu) e_object_del(E_OBJECT(pager_config->menu));
if (pager_config->menu)
{
e_menu_post_deactivate_callback_set(pager_config->menu, NULL, NULL);
e_object_del(E_OBJECT(pager_config->menu));
pager_config->menu = NULL;
}
free(pager_config);
pager_config = NULL;
E_CONFIG_DD_FREE(conf_edd);

View File

@ -71,6 +71,12 @@ _gc_shutdown(E_Gadcon_Client *gcc)
Instance *inst;
inst = gcc->data;
if (inst->main_menu)
{
e_menu_post_deactivate_callback_set(inst->main_menu, NULL, NULL);
e_object_del(E_OBJECT(inst->main_menu));
inst->main_menu = NULL;
}
evas_object_del(inst->o_button);
free(inst);
}

View File

@ -35,8 +35,8 @@ typedef struct _Instance Instance;
struct _Instance
{
E_Gadcon_Client *gcc;
Evas_Object *o_temp;
E_Gadcon_Client *gcc;
Evas_Object *o_temp;
};
static void _button_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
@ -396,6 +396,12 @@ e_modapi_shutdown(E_Module *m)
if (temperature_config->config_dialog)
e_object_del(E_OBJECT(temperature_config->config_dialog));
if (temperature_config->menu)
{
e_menu_post_deactivate_callback_set(temperature_config->menu , NULL, NULL);
e_object_del(E_OBJECT(temperature_config->menu));
temperature_config->menu = NULL;
}
if (temperature_config->temperature_check_timer)
ecore_timer_del(temperature_config->temperature_check_timer);
if (temperature_config->sensor_name)