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_after = NULL;
static Ecore_Idle_Enterer *_idle_flush = NULL; static Ecore_Idle_Enterer *_idle_flush = NULL;
static Ecore_Event_Handler *mod_init_end = NULL;
/* external variables */ /* external variables */
EAPI Eina_Bool e_precache_end = EINA_FALSE; EAPI Eina_Bool e_precache_end = EINA_FALSE;
EAPI Eina_Bool x_fatal = 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 static void
_e_main_modules_load(Eina_Bool safe_mode) _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_module_disable(m);
e_object_del(E_OBJECT(m)); e_object_del(E_OBJECT(m));
e_int_config_modules(e_container_current_get(e_manager_current_get()), NULL);
e_error_message_show e_error_message_show
(_("Enlightenment crashed early on start and has<br>" (_("Enlightenment crashed early on start and has<br>"
"been restarted. There was an error loading the<br>" "been restarted. There was an error loading the<br>"
@ -1838,7 +1847,6 @@ _e_main_modules_load(Eina_Bool safe_mode)
} }
else else
{ {
e_int_config_modules(e_container_current_get(e_manager_current_get()), NULL);
e_error_message_show e_error_message_show
(_("Enlightenment crashed early on start and has<br>" (_("Enlightenment crashed early on start and has<br>"
"been restarted. All modules have been disabled<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>" "The module configuration dialog should let you select your<br>"
"modules again.")); "modules again."));
} }
mod_init_end = ecore_event_handler_add(E_EVENT_MODULE_INIT_END, _e_main_modules_load_after, NULL);
} }
} }