mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-27 17:52:58 +02:00
Merge branch 'backport-1652-trash-portal-fix-glib-2-64' into 'glib-2-64'
Backport !1652 “trash portal: Handle portal failures” to glib-2-64 See merge request GNOME/glib!1659
This commit is contained in:
@@ -74,6 +74,7 @@ g_trash_portal_trash_file (GFile *file,
|
|||||||
GUnixFDList *fd_list = NULL;
|
GUnixFDList *fd_list = NULL;
|
||||||
int fd, fd_in, errsv;
|
int fd, fd_in, errsv;
|
||||||
gboolean ret = FALSE;
|
gboolean ret = FALSE;
|
||||||
|
guint portal_result = 0;
|
||||||
GXdpTrash *proxy;
|
GXdpTrash *proxy;
|
||||||
|
|
||||||
proxy = ensure_trash_portal ();
|
proxy = ensure_trash_portal ();
|
||||||
@@ -114,11 +115,17 @@ g_trash_portal_trash_file (GFile *file,
|
|||||||
ret = gxdp_trash_call_trash_file_sync (proxy,
|
ret = gxdp_trash_call_trash_file_sync (proxy,
|
||||||
g_variant_new_handle (fd_in),
|
g_variant_new_handle (fd_in),
|
||||||
fd_list,
|
fd_list,
|
||||||
NULL,
|
&portal_result,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
error);
|
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:
|
out:
|
||||||
g_clear_object (&fd_list);
|
g_clear_object (&fd_list);
|
||||||
g_free (path);
|
g_free (path);
|
||||||
|
Reference in New Issue
Block a user