]> git.0d.be Git - empathy.git/commitdiff
Automatically reap the empathy-accounts child process
authorDanielle Madeley <danielle.madeley@collabora.co.uk>
Wed, 24 Mar 2010 11:05:09 +0000 (22:05 +1100)
committerDanielle Madeley <danielle.madeley@collabora.co.uk>
Wed, 24 Mar 2010 11:24:29 +0000 (22:24 +1100)
Remove unrequired exit_cb code

src/empathy-accounts-dialog.c
src/empathy-accounts-dialog.h
src/empathy-main-window.c
src/empathy.c

index 8e85a3653c035d43170cb3cbcccbc1d4bdf457f1..6285d2d37e95f28e17703efc591882d28565187a 100644 (file)
@@ -2286,13 +2286,10 @@ empathy_accounts_dialog_show (GtkWindow *parent,
 
 void
 empathy_accounts_dialog_show_application (GdkScreen *screen,
-    GChildWatchFunc application_exit_cb,
-    gpointer user_data,
     TpAccount *selected_account,
     gboolean if_needed,
     gboolean hidden)
 {
-  gint command_pid;
   GError *error = NULL;
   gchar *argv[4] = { NULL, };
   gint i = 0;
@@ -2314,7 +2311,7 @@ empathy_accounts_dialog_show_application (GdkScreen *screen,
 
   argv[i++] = path;
 
-  if (selected_account)
+  if (selected_account != NULL)
     {
       const gchar *account_path;
 
@@ -2336,20 +2333,14 @@ empathy_accounts_dialog_show_application (GdkScreen *screen,
     selected_account == NULL ? "<none selected>" :
       tp_proxy_get_object_path (TP_PROXY (selected_account)));
 
-  gdk_spawn_on_screen (screen, NULL, argv, NULL,
-      G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL,
-      &command_pid, &error);
-  if (error)
+  gdk_spawn_on_screen (screen, NULL, argv, NULL, G_SPAWN_SEARCH_PATH,
+      NULL, NULL, NULL, &error);
+  if (error != NULL)
     {
       g_warning ("Failed to open accounts dialog: %s", error->message);
       g_error_free (error);
     }
 
-  /* XXX: unportable cast to GPid; then again, gdk_spawn_on_screen() seems
-   * unportable since it always takes a gint* for the PID */
-  if (application_exit_cb)
-    g_child_watch_add ((GPid) command_pid, application_exit_cb, NULL);
-
   g_free (account_option);
   g_free (path);
 }
index f7442345c02c223751d53007c86d566b8f3ac611..5fe6f51f74380f839e4d9abf9b5b93f0514131f1 100644 (file)
@@ -61,8 +61,6 @@ void empathy_account_dialog_cancel (EmpathyAccountsDialog *dialog);
 gboolean empathy_accounts_dialog_is_creating (EmpathyAccountsDialog *dialog);
 
 void empathy_accounts_dialog_show_application (GdkScreen *screen,
-    GChildWatchFunc application_exit_cb,
-    gpointer user_data,
     TpAccount *selected_account,
     gboolean if_needed,
     gboolean hidden);
index fe9af9c4d40ecf3969a7c9765c9933fa30e2ab07..daeefeb33e7ca63cac0277ecd09e8efc9cb8de7e 100644 (file)
@@ -362,7 +362,7 @@ main_window_error_edit_clicked_cb (GtkButton *button,
        account = g_object_get_data (G_OBJECT (button), "account");
 
        empathy_accounts_dialog_show_application (
-                       gtk_widget_get_screen (GTK_WIDGET (button)), NULL, NULL,
+                       gtk_widget_get_screen (GTK_WIDGET (button)),
                        account, FALSE, FALSE);
 
        main_window_remove_error (window, account);
@@ -1068,7 +1068,7 @@ main_window_edit_accounts_cb (GtkAction         *action,
                              EmpathyMainWindow *window)
 {
        empathy_accounts_dialog_show_application (gdk_screen_get_default (),
-                       NULL, NULL, NULL, FALSE, FALSE);
+                       NULL, FALSE, FALSE);
 }
 
 static void
@@ -1146,7 +1146,7 @@ main_window_throbber_button_press_event_cb (GtkWidget         *throbber_ebox,
 
        empathy_accounts_dialog_show_application (
                        gtk_widget_get_screen (GTK_WIDGET (throbber_ebox)),
-                       NULL, NULL, NULL, FALSE, FALSE);
+                       NULL, FALSE, FALSE);
 
        return FALSE;
 }
index f8479142316c8b30f99dd2bf3a0ca3a2e9ff9e3b..377feea300d89afbbcc6ba36b53d8b16d05f3220 100644 (file)
@@ -240,24 +240,12 @@ migrate_config_to_xdg_dir (void)
   g_free (old_dir);
 }
 
-static void
-accounts_application_exited_cb (GPid pid,
-    gint status,
-    gpointer data)
-{
-  if (status)
-    {
-      g_warning ("accounts application exited with status %d: '%s'",
-          status, g_strerror (status));
-    }
-}
-
 static void
 show_accounts_ui (GdkScreen *screen,
     gboolean if_needed)
 {
   empathy_accounts_dialog_show_application (screen,
-      accounts_application_exited_cb, NULL, NULL, if_needed, start_hidden);
+      NULL, if_needed, start_hidden);
 }
 
 static UniqueResponse