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:
Mike Blumenkrantz 2016-04-28 17:56:59 -04:00
parent dc0ec2339e
commit a0d5d4b839
1 changed files with 3 additions and 1 deletions

View File

@ -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);