fix startup error scenario where module dialog could be opened before module startup and result in empty contents

SVN revision: 83680
This commit is contained in:
Mike Blumenkrantz 2013-02-06 13:11:52 +00:00
parent fea54b3d31
commit e3953ba1db
1 changed files with 11 additions and 2 deletions

View File

@ -114,6 +114,8 @@ static Ecore_Idle_Enterer *_idle_before = NULL;
static Ecore_Idle_Enterer *_idle_after = NULL;
static Ecore_Idle_Enterer *_idle_flush = NULL;
static Ecore_Event_Handler *mod_init_end = NULL;
/* external variables */
EAPI Eina_Bool e_precache_end = EINA_FALSE;
EAPI Eina_Bool x_fatal = EINA_FALSE;
@ -1805,6 +1807,14 @@ _e_main_efreet_paths_init(void)
}
}
static Eina_Bool
_e_main_modules_load_after(void *d EINA_UNUSED, int type EINA_UNUSED, void *ev EINA_UNUSED)
{
e_int_config_modules(NULL, NULL);
E_FN_DEL(ecore_event_handler_del, mod_init_end);
return ECORE_CALLBACK_RENEW;
}
static void
_e_main_modules_load(Eina_Bool safe_mode)
{
@ -1823,7 +1833,6 @@ _e_main_modules_load(Eina_Bool safe_mode)
e_module_disable(m);
e_object_del(E_OBJECT(m));
e_int_config_modules(e_container_current_get(e_manager_current_get()), NULL);
e_error_message_show
(_("Enlightenment crashed early on start and has<br>"
"been restarted. There was an error loading the<br>"
@ -1838,7 +1847,6 @@ _e_main_modules_load(Eina_Bool safe_mode)
}
else
{
e_int_config_modules(e_container_current_get(e_manager_current_get()), NULL);
e_error_message_show
(_("Enlightenment crashed early on start and has<br>"
"been restarted. All modules have been disabled<br>"
@ -1854,6 +1862,7 @@ _e_main_modules_load(Eina_Bool safe_mode)
"The module configuration dialog should let you select your<br>"
"modules again."));
}
mod_init_end = ecore_event_handler_add(E_EVENT_MODULE_INIT_END, _e_main_modules_load_after, NULL);
}
}