From 80ccb990d65628a31694edc94dcc2cb1511f5d9d Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Thu, 6 Sep 2012 15:48:33 +0200 Subject: [PATCH] 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 file changed, 13 insertions(+) diff --git a/src/empathy-roster-window.c b/src/empathy-roster-window.c index cea6ac5f..b16f2396 100644 --- a/src/empathy-roster-window.c +++ b/src/empathy-roster-window.c @@ -2159,6 +2159,16 @@ out: gtk_drag_finish (context, success, FALSE, time_); } +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) { @@ -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", -- 2.39.2