diff options
-rw-r--r-- | src/empathy-main-window.c | 2 | ||||
-rw-r--r-- | src/empathy-status-icon.c | 4 | ||||
-rw-r--r-- | src/empathy.c | 7 |
3 files changed, 7 insertions, 6 deletions
diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c index c5f13dfaf..da8acf153 100644 --- a/src/empathy-main-window.c +++ b/src/empathy-main-window.c @@ -1433,7 +1433,7 @@ static void main_window_chat_quit_cb (GtkAction *action, EmpathyMainWindow *window) { - gtk_main_quit (); + gtk_widget_destroy (GTK_WIDGET (window)); } static void diff --git a/src/empathy-status-icon.c b/src/empathy-status-icon.c index d6f5b2e46..3aa27a467 100644 --- a/src/empathy-status-icon.c +++ b/src/empathy-status-icon.c @@ -320,7 +320,9 @@ static void status_icon_quit_cb (GtkAction *action, EmpathyStatusIcon *icon) { - gtk_main_quit (); + EmpathyStatusIconPriv *priv = GET_PRIV (icon); + + gtk_widget_destroy (priv->window); } static void diff --git a/src/empathy.c b/src/empathy.c index e1dab1f18..b73bf1b03 100644 --- a/src/empathy.c +++ b/src/empathy.c @@ -181,9 +181,6 @@ empathy_app_finalize (GObject *object) g_free (self->preferences_tab); - if (self->window != NULL) - gtk_widget_destroy (self->window); - if (finalize != NULL) finalize (object); } @@ -351,12 +348,14 @@ empathy_app_command_line (GApplication *app, g_error_free (error); } - g_application_hold (G_APPLICATION (app)); self->activated = TRUE; /* Setting up UI */ self->window = empathy_main_window_dup (); + gtk_application_add_window (GTK_APPLICATION (app), + GTK_WINDOW (self->window)); + /* check if Shell is running */ dbus = tp_dbus_daemon_dup (&error); g_assert_no_error (error); |