aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-chat-chandler.c
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2007-12-29 23:58:47 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2007-12-29 23:58:47 +0800
commite4358acdec7b8c278a1950a3da24bab387a0e7b3 (patch)
tree9a15f253d9c45a90a8794143ecdd854650d58af1 /src/empathy-chat-chandler.c
parentb8607414ea0e41c44a09d31ebcd0437a3c867a24 (diff)
downloadgsoc2013-empathy-e4358acdec7b8c278a1950a3da24bab387a0e7b3.tar
gsoc2013-empathy-e4358acdec7b8c278a1950a3da24bab387a0e7b3.tar.gz
gsoc2013-empathy-e4358acdec7b8c278a1950a3da24bab387a0e7b3.tar.bz2
gsoc2013-empathy-e4358acdec7b8c278a1950a3da24bab387a0e7b3.tar.lz
gsoc2013-empathy-e4358acdec7b8c278a1950a3da24bab387a0e7b3.tar.xz
gsoc2013-empathy-e4358acdec7b8c278a1950a3da24bab387a0e7b3.tar.zst
gsoc2013-empathy-e4358acdec7b8c278a1950a3da24bab387a0e7b3.zip
Revert "merge git work"
This reverts commit 0cfd80847f0d66967f56c7d6b3eb46793f725859. svn path=/trunk/; revision=519
Diffstat (limited to 'src/empathy-chat-chandler.c')
-rw-r--r--src/empathy-chat-chandler.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/empathy-chat-chandler.c b/src/empathy-chat-chandler.c
index dc2eb60f7..79bbe8a35 100644
--- a/src/empathy-chat-chandler.c
+++ b/src/empathy-chat-chandler.c
@@ -48,6 +48,19 @@
#define BUS_NAME "org.gnome.Empathy.ChatChandler"
#define OBJECT_PATH "/org/gnome/Empathy/ChatChandler"
+static guint nb_chats = 0;
+
+static void
+chat_chandler_weak_notify (gpointer data,
+ GObject *where_the_object_was)
+{
+ nb_chats--;
+ if (nb_chats == 0) {
+ empathy_debug (DEBUG_DOMAIN, "No more chats, leaving...");
+ gtk_main_quit ();
+ }
+}
+
static void
chat_chandler_new_channel_cb (EmpathyChandler *chandler,
TpConn *tp_conn,
@@ -99,6 +112,8 @@ chat_chandler_new_channel_cb (EmpathyChandler *chandler,
return;
}
+ nb_chats++;
+ g_object_weak_ref (G_OBJECT (chat), chat_chandler_weak_notify, NULL);
empathy_chat_present (chat);
g_object_unref (chat);