Merge branch 'trash-portal-error' into 'master'

trash portal: Handle portal failures

See merge request GNOME/glib!1652
This commit is contained in:
Philip Withnall 2020-09-23 09:36:32 +00:00
commit af0b0e98da

View File

@ -74,8 +74,9 @@ g_trash_portal_trash_file (GFile *file,
GUnixFDList *fd_list = NULL;
int fd, fd_in, errsv;
gboolean ret = FALSE;
guint portal_result = 0;
GXdpTrash *proxy;
proxy = ensure_trash_portal ();
if (proxy == NULL)
{
@ -114,11 +115,17 @@ g_trash_portal_trash_file (GFile *file,
ret = gxdp_trash_call_trash_file_sync (proxy,
g_variant_new_handle (fd_in),
fd_list,
NULL,
&portal_result,
NULL,
NULL,
error);
if (ret && portal_result != 1)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Trash portal failed on %s", path);
ret = FALSE;
}
out:
g_clear_object (&fd_list);
g_free (path);