[empathy/gnome-3-2] empathy: rely on gtk_application_add_window() to manage the main loop
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy/gnome-3-2] empathy: rely on gtk_application_add_window() to manage the main loop
- Date: Wed, 26 Oct 2011 09:24:48 +0000 (UTC)
commit bec05425315c6ab2581300b9f0f98f8fe2e2273d
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Tue Oct 25 17:03:28 2011 +0200
empathy: rely on gtk_application_add_window() to manage the main loop
We are not supposed to call gtk_main_quit() as we don't use gtk_main() any
more. Instead we add the windows to the GtkApplication which will take care of
exiting when they have been all destroyed.
https://bugzilla.gnome.org/show_bug.cgi?id=662504
src/empathy-main-window.c | 2 +-
src/empathy-status-icon.c | 4 +++-
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 f372252..77070a8 100644
--- a/src/empathy-main-window.c
+++ b/src/empathy-main-window.c
@@ -1273,7 +1273,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 d6f5b2e..3aa27a4 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 e95ad1d..505949d 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);
}
@@ -348,12 +345,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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]