File xfce4-genmon-plugin-3.2-prevent-zombies.patch of Package xfce4-panel-plugins
diff -ur xfce4-genmon-plugin-3.2.orig/panel-plugin/main.c xfce4-genmon-plugin-3.2/panel-plugin/main.c
--- xfce4-genmon-plugin-3.2.orig/panel-plugin/main.c 2008-03-15 23:38:18.000000000 +0100
+++ xfce4-genmon-plugin-3.2/panel-plugin/main.c 2011-01-01 11:17:46.000000000 +0100
@@ -32,6 +32,7 @@
#include <libxfce4util/libxfce4util.h>
#include <libxfcegui4/dialogs.h>
+#include <libxfcegui4/xfce-exec.h>
#include <libxfce4panel/xfce-panel-plugin.h>
#include <libxfce4panel/xfce-panel-convenience.h>
@@ -94,10 +95,18 @@
{
struct genmon_t *poPlugin = (genmon_t *) p_pvPlugin;
struct monitor_t *poMonitor = &(poPlugin->oMonitor);
- char result[256];
+ GError *error = NULL;
+
+ xfce_exec(poMonitor->onClickCmd, 0, 0, &error);
+ if (error) {
+ char first[256];
+ g_snprintf (first, sizeof(first), _("Could not run \"%s\""), poMonitor->onClickCmd);
+ xfce_message_dialog (NULL, _("Xfce Panel"),
+ GTK_STOCK_DIALOG_ERROR, first, error->message,
+ GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL);
+ g_error_free (error);
+ }
- genmon_SpawnCmd (poMonitor->onClickCmd, result,
- sizeof (poMonitor->onClickCmd), 0);
}
/**************************************************************/