diff options
Diffstat (limited to 'libempathy/empathy-utils.c')
-rw-r--r-- | libempathy/empathy-utils.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c index 4ab367b42..579870f80 100644 --- a/libempathy/empathy-utils.c +++ b/libempathy/empathy-utils.c @@ -396,13 +396,24 @@ empathy_dbus_error_name_get_default_message (const gchar *error) } const gchar * -empathy_account_get_error_message (TpAccount *account) +empathy_account_get_error_message (TpAccount *account, + gboolean *user_requested) { const gchar *dbus_error; const gchar *message; + const GHashTable *details = NULL; TpConnectionStatusReason reason; - dbus_error = tp_account_get_detailed_error (account, NULL); + dbus_error = tp_account_get_detailed_error (account, &details); + + if (user_requested != NULL) + { + if (tp_asv_get_boolean (details, "user-requested", NULL)) + *user_requested = TRUE; + else + *user_requested = FALSE; + } + message = empathy_dbus_error_name_get_default_message (dbus_error); if (message != NULL) return message; |