[libxfce4ui] Add patch to fix double fork issue that prevents some apps from running from the menu

Kevin Fenzi kevin at fedoraproject.org
Wed Nov 6 23:25:52 UTC 2013


commit 5cb159a7918b9af21fbbda7f398070b52d9ca4e6
Author: Kevin Fenzi <kevin at scrye.com>
Date:   Wed Nov 6 16:25:28 2013 -0700

    Add patch to fix double fork issue that prevents some apps from running from the menu

 libxfce4ui-4.10.0-avoid-double-fork.patch |   39 +++++++++++++++++++++++++++++
 libxfce4ui.spec                           |    9 ++++++-
 2 files changed, 47 insertions(+), 1 deletions(-)
---
diff --git a/libxfce4ui-4.10.0-avoid-double-fork.patch b/libxfce4ui-4.10.0-avoid-double-fork.patch
new file mode 100644
index 0000000..e14614e
--- /dev/null
+++ b/libxfce4ui-4.10.0-avoid-double-fork.patch
@@ -0,0 +1,39 @@
+--- libxfce4ui-4.11.0/libxfce4ui/xfce-spawn.c.0000	2013-09-23 18:25:56.000000000 +0100
++++ libxfce4ui-4.11.0/libxfce4ui/xfce-spawn.c	2013-10-14 17:45:14.915030567 +0100
+@@ -389,17 +389,13 @@
+               startup_id = sn_launcher_context_get_startup_id (sn_launcher);
+               if (G_LIKELY (startup_id != NULL))
+                 cenvp[n_cenvp++] = g_strconcat ("DESKTOP_STARTUP_ID=", startup_id, NULL);
+-
+-              /* we want to watch the child process */
+-              flags |= G_SPAWN_DO_NOT_REAP_CHILD;
+             }
+         }
+     }
+ #endif
+ 
+-  /* watch the child when the user supplied a closure too */
+-  if (child_watch_closure != NULL)
+-    flags |= G_SPAWN_DO_NOT_REAP_CHILD;
++  /* We always want to not reap the child to prevent double forking */
++  flags |= G_SPAWN_DO_NOT_REAP_CHILD;
+ 
+   /* test if the working directory exists */
+   if (working_directory == NULL || *working_directory == '\0')
+@@ -423,8 +419,6 @@
+ 
+   if (G_LIKELY (succeed))
+     {
+-      if ((flags & G_SPAWN_DO_NOT_REAP_CHILD) != 0)
+-        {
+           /* setup data to watch the child */
+           spawn_data = g_slice_new0 (XfceSpawnData);
+           spawn_data->pid = pid;
+@@ -453,7 +447,6 @@
+                                                                    xfce_spawn_startup_timeout_destroy);
+             }
+ #endif
+-        }
+     }
+   else
+     {
diff --git a/libxfce4ui.spec b/libxfce4ui.spec
index a48e7c8..9c1a5df 100644
--- a/libxfce4ui.spec
+++ b/libxfce4ui.spec
@@ -4,7 +4,7 @@
 
 Name:           libxfce4ui
 Version:        4.10.0
-Release:        8%{?dist}
+Release:        9%{?dist}
 Summary:        Commonly used Xfce widgets
 
 Group:          System Environment/Libraries
@@ -12,6 +12,8 @@ License:        LGPLv2+
 URL:            http://xfce.org/
 #VCS git:git://git.xfce.org/xfce/libxfce4ui
 Source0:        http://archive.xfce.org/src/xfce/%{name}/%{xfceversion}/%{name}-%{version}.tar.bz2
+# https://bugzilla.xfce.org/show_bug.cgi?id=9626
+Patch1:         libxfce4ui-4.10.0-avoid-double-fork.patch
 ## Downstream patches
 # add more keyboard shortcuts to make multimedia keyboards work out of the box
 Patch10:        libxfce4ui-4.10.0-keyboard-shortcuts.patch
@@ -69,6 +71,7 @@ developing applications that use %{name}.
 
 %prep
 %setup -q
+%patch1 -p1
 %patch10 -p1 -b .shortcuts
 
 %build
@@ -138,6 +141,10 @@ rm -rf %{buildroot}
 %endif
 
 %changelog
+* Wed Nov 06 2013 Kevin Fenzi <kevin at scrye.com> 4.10.0-9
+- Add patch to fix double fork issue that prevents some apps from running from the menu. 
+- Fixes bug #879922
+
 * Wed Nov 06 2013 Kevin Fenzi <kevin at scrye.com> 4.10.0-8
 - Conditionalize glade3 stuff so we can keep the same spec over branches. 
 


More information about the scm-commits mailing list