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
dc0ec2339e
commit
a0d5d4b839
|
@ -15,6 +15,7 @@ static E_Order *startup_apps = NULL;
|
|||
static int start_app_pos = -1;
|
||||
static Ecore_Event_Handler *desktop_cache_update_handler = NULL;
|
||||
|
||||
static Eina_Bool desktop_cache_update = EINA_FALSE;
|
||||
static Eina_Bool started = EINA_FALSE;
|
||||
|
||||
/* externally accessible functions */
|
||||
|
@ -46,7 +47,7 @@ e_startup_mode_set(E_Startup_Mode mode)
|
|||
E_API void
|
||||
e_startup(void)
|
||||
{
|
||||
if (desktop_cache_update_handler)
|
||||
if (!desktop_cache_update)
|
||||
started = EINA_TRUE;
|
||||
else
|
||||
_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. "
|
||||
"Please check your DBus setup");
|
||||
}
|
||||
desktop_cache_update = EINA_TRUE;
|
||||
E_FREE_FUNC(desktop_cache_update_handler, ecore_event_handler_del);
|
||||
buf = data;
|
||||
startup_apps = e_order_new(buf);
|
||||
|
|
Loading…
Reference in New Issue