Create event for "Loading e_config finished."

It is bad how this works right now. Fail by design/documentation.
E.g. subsys a is waiting for event b_e (generated by subsys b) to happen.
If a is loaded before b, b_e isn't initialized and a waits for the wrong event.

Consequently either their must be specified value for non initialized events
(e.g. 0) or all events must be initialized in a central place, so
emitters'/listeners' order is irrelevant.

SVN revision: 66217
This commit is contained in:
Leif Middelschulte 2011-12-14 17:37:22 +00:00
parent add873a668
commit 2ac2fdf1c2
2 changed files with 5 additions and 0 deletions

View File

@ -63,6 +63,7 @@ static E_Config_DD *_e_config_randr_serialized_crtc_edd = NULL;
EAPI int E_EVENT_CONFIG_ICON_THEME = 0;
EAPI int E_EVENT_CONFIG_MODE_CHANGED = 0;
EAPI int E_EVENT_CONFIG_LOADED = 0;
static E_Dialog *_e_config_error_dialog = NULL;
@ -117,6 +118,7 @@ e_config_init(void)
{
E_EVENT_CONFIG_ICON_THEME = ecore_event_type_new();
E_EVENT_CONFIG_MODE_CHANGED = ecore_event_type_new();
E_EVENT_CONFIG_LOADED = ecore_event_type_new();
_e_config_profile = getenv("E_CONF_PROFILE");
@ -1333,6 +1335,8 @@ e_config_load(void)
if (e_config->desklock_personal_passwd)
eina_stringshare_del(e_config->desklock_personal_passwd);
e_config->desklock_personal_passwd = NULL;
ecore_event_add(E_EVENT_CONFIG_LOADED, NULL, NULL, NULL);
}
EAPI int

View File

@ -580,6 +580,7 @@ extern EAPI E_Config *e_config;
extern EAPI int E_EVENT_CONFIG_ICON_THEME;
extern EAPI int E_EVENT_CONFIG_MODE_CHANGED;
extern EAPI int E_EVENT_CONFIG_LOADED;
#endif
#endif