diff -Nru xfce4-indicator-plugin-2.3.2/debian/changelog xfce4-indicator-plugin-2.3.2/debian/changelog --- xfce4-indicator-plugin-2.3.2/debian/changelog 2014-03-18 13:29:04.000000000 +0000 +++ xfce4-indicator-plugin-2.3.2/debian/changelog 2014-04-10 00:25:17.000000000 +0000 @@ -1,3 +1,9 @@ +xfce4-indicator-plugin (2.3.2-0ubuntu2) trusty; urgency=medium + + * Add 01_upstart-init.patch (Fixes LP: #1302571) + + -- Sean Davis Mon, 07 Apr 2014 21:48:58 -0400 + xfce4-indicator-plugin (2.3.2-0ubuntu1) trusty; urgency=medium * New upstream release. diff -Nru xfce4-indicator-plugin-2.3.2/debian/patches/01_upstart-init.patch xfce4-indicator-plugin-2.3.2/debian/patches/01_upstart-init.patch --- xfce4-indicator-plugin-2.3.2/debian/patches/01_upstart-init.patch 1970-01-01 00:00:00.000000000 +0000 +++ xfce4-indicator-plugin-2.3.2/debian/patches/01_upstart-init.patch 2014-04-10 00:25:17.000000000 +0000 @@ -0,0 +1,64 @@ +Description: Start and stop indicator services with upstart + Use upstart to start and stop indicator services instead of autostart + *.desktop files. + +Origin: other, http://git.xfce.org/users/ajb/xfce4-indicator-plugin/commit/?h=upstart-init-3&id=baa04878aaf5f688f9e01507696e54062cc5dc55 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/xfce4-indicator-plugin/+bug/1302571 +--- + +--- a/panel-plugin/indicator.c ++++ b/panel-plugin/indicator.c +@@ -97,6 +97,9 @@ + + /* log file */ + FILE *logfile; ++ ++ /* Indicator upstart process. */ ++ GPid upstart_pid; + }; + + +@@ -136,6 +139,7 @@ + indicator->buttonbox = NULL; + indicator->config = NULL; + indicator->logfile = NULL; ++ indicator->upstart_pid = 0; + } + + +@@ -143,12 +147,19 @@ + static void + indicator_free (XfcePanelPlugin *plugin) + { ++ IndicatorPlugin *indicator = XFCE_INDICATOR_PLUGIN (plugin); + GtkWidget *dialog; + + /* check if the dialog is still open. if so, destroy it */ + dialog = g_object_get_data (G_OBJECT (plugin), "dialog"); + if (G_UNLIKELY (dialog != NULL)) + gtk_widget_destroy (dialog); ++ ++ if (indicator->upstart_pid) ++ { ++ kill (indicator->upstart_pid, SIGTERM); ++ waitpid (indicator->upstart_pid, NULL, 0); ++ } + } + + +@@ -314,6 +325,15 @@ + indicator_load_services (indicator); + #endif + ++ gchar *INDICATORS_CMD[] = {"init", "--user", "--startup-event", "indicator-services-start", NULL}; ++ GError *error = NULL; ++ ++ if (!g_spawn_async (NULL, INDICATORS_CMD, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &indicator->upstart_pid, &error)) ++ { ++ g_warning ("Error starting Upstart for indicators: %s", error->message); ++ g_clear_error (&error); ++ } ++ + if (indicator->indicator_count == 0) { + /* A label to allow for click through */ + indicator->item = xfce_indicator_button_new (NULL, diff -Nru xfce4-indicator-plugin-2.3.2/debian/patches/series xfce4-indicator-plugin-2.3.2/debian/patches/series --- xfce4-indicator-plugin-2.3.2/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ xfce4-indicator-plugin-2.3.2/debian/patches/series 2014-04-10 00:25:17.000000000 +0000 @@ -0,0 +1 @@ +01_upstart-init.patch