From a0d5d4b8391aa875b6d182344e08dc53e04cc395 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 28 Apr 2016 17:56:59 -0400 Subject: [PATCH] ensure that the startup apps cache handler has run before trying to start apps fixes timing issues when running startup apps --- src/bin/e_startup.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bin/e_startup.c b/src/bin/e_startup.c index c6b97fb55..7b8a5ddde 100644 --- a/src/bin/e_startup.c +++ b/src/bin/e_startup.c @@ -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);