forked from enlightenment/enlightenment
ensure that the startup apps cache handler has run before trying to start apps
fixes timing issues when running startup apps
This commit is contained in:
parent
20f1aa8727
commit
01ac84035f
|
@ -15,6 +15,7 @@ static E_Order *startup_apps = NULL;
|
||||||
static int start_app_pos = -1;
|
static int start_app_pos = -1;
|
||||||
static Ecore_Event_Handler *desktop_cache_update_handler = NULL;
|
static Ecore_Event_Handler *desktop_cache_update_handler = NULL;
|
||||||
|
|
||||||
|
static Eina_Bool desktop_cache_update = EINA_FALSE;
|
||||||
static Eina_Bool started = EINA_FALSE;
|
static Eina_Bool started = EINA_FALSE;
|
||||||
|
|
||||||
/* externally accessible functions */
|
/* externally accessible functions */
|
||||||
|
@ -46,7 +47,7 @@ e_startup_mode_set(E_Startup_Mode mode)
|
||||||
E_API void
|
E_API void
|
||||||
e_startup(void)
|
e_startup(void)
|
||||||
{
|
{
|
||||||
if (desktop_cache_update_handler)
|
if (!desktop_cache_update)
|
||||||
started = EINA_TRUE;
|
started = EINA_TRUE;
|
||||||
else
|
else
|
||||||
_e_startup();
|
_e_startup();
|
||||||
|
@ -116,6 +117,7 @@ _e_startup_event_cb(void *data, int ev_type EINA_UNUSED, void *ev)
|
||||||
_e_startup_error_dialog("E: Efreet could not build cache. "
|
_e_startup_error_dialog("E: Efreet could not build cache. "
|
||||||
"Please check your DBus setup");
|
"Please check your DBus setup");
|
||||||
}
|
}
|
||||||
|
desktop_cache_update = EINA_TRUE;
|
||||||
E_FREE_FUNC(desktop_cache_update_handler, ecore_event_handler_del);
|
E_FREE_FUNC(desktop_cache_update_handler, ecore_event_handler_del);
|
||||||
buf = data;
|
buf = data;
|
||||||
startup_apps = e_order_new(buf);
|
startup_apps = e_order_new(buf);
|
||||||
|
|
Loading…
Reference in New Issue