diff --git a/enlightenment.spec b/enlightenment.spec index 6fff37b..f78aef1 100644 --- a/enlightenment.spec +++ b/enlightenment.spec @@ -2,12 +2,13 @@ Name: enlightenment Version: 0.20.7 -Release: 1%{?dist} +Release: 2%{?dist} License: BSD Summary: Enlightenment window manager Url: http://enlightenment.org Source0: http://download.enlightenment.org/rel/apps/enlightenment/%{name}-%{version}.tar.xz Patch0: enlightenment-0.20.0-fix-desktop-files.patch +Patch1: fix-upstream-startup-apps.patch BuildRequires: alsa-lib-devel BuildRequires: bluez-libs-devel BuildRequires: dbus-devel @@ -55,6 +56,7 @@ Headers, test programs and documentation for enlightenment. %prep %setup -q %patch0 -p1 -b .fixme +%patch1 -p1 -b .fix-startup %build %configure \ @@ -115,6 +117,10 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop %{_includedir}/enlightenment %changelog +* Fri May 13 2016 Tom Callaway - 0.20.7-2 +- ensure that the startup apps cache handler has run before trying to start apps +- thanks to Mike Blumenkrantz + * Tue Apr 26 2016 Tom Callaway - 0.20.7-1 - update to 0.20.7 diff --git a/fix-upstream-startup-apps.patch b/fix-upstream-startup-apps.patch new file mode 100644 index 0000000..b283a2e --- /dev/null +++ b/fix-upstream-startup-apps.patch @@ -0,0 +1,36 @@ +commit 01ac84035fd09d1ffe9dc224b32325b5b15f591b +Author: Mike Blumenkrantz +Date: Thu Apr 28 17:56:59 2016 -0400 + + ensure that the startup apps cache handler has run before trying to start apps + + fixes timing issues when running startup apps + +diff -up enlightenment-0.20.7/src/bin/e_startup.c.bad enlightenment-0.20.7/src/bin/e_startup.c +--- enlightenment-0.20.7/src/bin/e_startup.c.bad 2016-05-13 12:45:52.346765979 -0400 ++++ enlightenment-0.20.7/src/bin/e_startup.c 2016-05-13 12:45:58.698727658 -0400 +@@ -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_t + _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);