aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-accounts-dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/empathy-accounts-dialog.c')
-rw-r--r--src/empathy-accounts-dialog.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index edec6008d..69bb110be 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -224,6 +224,14 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog,
presence = tp_account_get_current_presence (account, NULL, &status_message);
account_enabled = tp_account_is_enabled (account);
creating_account = FALSE;
+
+ if (status == TP_CONNECTION_STATUS_CONNECTED &&
+ (presence == TP_CONNECTION_PRESENCE_TYPE_OFFLINE ||
+ presence == TP_CONNECTION_PRESENCE_TYPE_UNSET))
+ /* If presence is Unset (CM doesn't implement SimplePresence) but we
+ * are connected, consider ourself as Available.
+ * We also check Offline because of this MC5 bug: fd.o #26060 */
+ presence = TP_CONNECTION_PRESENCE_TYPE_AVAILABLE;
}
else
{