diff options
author | Bastien Nocera <hadess@hadess.net> | 2015-06-08 14:18:18 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2015-06-08 14:19:01 +0200 |
commit | c2e107176010cabb9f8b93c092001cbc02abad85 (patch) | |
tree | 6b0c6a7a8017a1c2c50bf1087f9576ecd11ce3aa | |
parent | 10c4de2e8a04075b11c1c96a77d5aa4ceab9b132 (diff) | |
download | gnome-bluetooth-c2e107176010cabb9f8b93c092001cbc02abad85.tar.gz |
sendto: Strip the D-Bus error from the error message
https://bugzilla.gnome.org/show_bug.cgi?id=746698
-rw-r--r-- | sendto/main.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/sendto/main.c b/sendto/main.c index 5a4832d3..c9a048e2 100644 --- a/sendto/main.c +++ b/sendto/main.c @@ -108,18 +108,36 @@ update_from_label (void) g_free (markup); } +static char * +cleanup_error (GError *error) +{ + char *remote_error; + + if (!error || *error->message == '\0') + return g_strdup (_("An unknown error occurred")); + if (g_dbus_error_is_remote_error (error) == FALSE) + return g_strdup (error->message); + + remote_error = g_dbus_error_get_remote_error (error); + g_debug ("Remote error is: %s", remote_error); + g_free (remote_error); + + g_dbus_error_strip_remote_error (error); + + return g_strdup (error->message); +} + static void handle_error (GError *error) { - const char *message; + char *message; + + message = cleanup_error (error); - if (!error || *error->message == '\0') - message = _("An unknown error occurred"); - else - message = error->message; gtk_widget_show (image_status); gtk_label_set_markup (GTK_LABEL (label_status), message); g_clear_error (&error); + g_free (message); /* Clear the progress bar as it may be saying 'Connecting' or * 'Sending file 1 of 1' which is not true. */ |