[empathy] roster-window: update the roster page when the most available presence changes



commit 80ccb990d65628a31694edc94dcc2cb1511f5d9d
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Thu Sep 6 15:48:33 2012 +0200

    roster-window: update the roster page when the most available presence changes
    
    Fix a race between all the contacts being removed, and so the roster
    being empty, and the presence notification.

 src/empathy-roster-window.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/src/empathy-roster-window.c b/src/empathy-roster-window.c
index cea6ac5..b16f239 100644
--- a/src/empathy-roster-window.c
+++ b/src/empathy-roster-window.c
@@ -2160,6 +2160,16 @@ out:
 }
 
 static void
+roster_window_most_available_presence_changed_cb (TpAccountManager *manager,
+    TpConnectionPresenceType presence,
+    const gchar *status,
+    const gchar *message,
+    EmpathyRosterWindow *self)
+{
+  set_notebook_page (self);
+}
+
+static void
 empathy_roster_window_init (EmpathyRosterWindow *self)
 {
   GtkBuilder *gui;
@@ -2350,6 +2360,9 @@ empathy_roster_window_init (EmpathyRosterWindow *self)
       G_CALLBACK (roster_window_account_removed_cb), self);
   g_signal_connect (self->priv->account_manager, "account-disabled",
       G_CALLBACK (roster_window_account_disabled_cb), self);
+  g_signal_connect (self->priv->account_manager,
+      "most-available-presence-changed",
+      G_CALLBACK (roster_window_most_available_presence_changed_cb), self);
 
   g_settings_bind (self->priv->gsettings_ui, EMPATHY_PREFS_UI_SHOW_OFFLINE,
       self->priv->view, "show-offline",



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]