diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-09-06 21:48:33 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-09-06 21:48:33 +0800 |
commit | 80ccb990d65628a31694edc94dcc2cb1511f5d9d (patch) | |
tree | dc659b3f067d17fb86ba6a08fa98dcec4289636b | |
parent | 96020e16337fe47fe35d88db9fb2503bc213b86e (diff) | |
download | gsoc2013-empathy-80ccb990d65628a31694edc94dcc2cb1511f5d9d.tar gsoc2013-empathy-80ccb990d65628a31694edc94dcc2cb1511f5d9d.tar.gz gsoc2013-empathy-80ccb990d65628a31694edc94dcc2cb1511f5d9d.tar.bz2 gsoc2013-empathy-80ccb990d65628a31694edc94dcc2cb1511f5d9d.tar.lz gsoc2013-empathy-80ccb990d65628a31694edc94dcc2cb1511f5d9d.tar.xz gsoc2013-empathy-80ccb990d65628a31694edc94dcc2cb1511f5d9d.tar.zst gsoc2013-empathy-80ccb990d65628a31694edc94dcc2cb1511f5d9d.zip |
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.
-rw-r--r-- | 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 cea6ac5f8..b16f23960 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", |