58 lines
2.0 KiB
Diff
58 lines
2.0 KiB
Diff
From 85a789c800ef2773af6eb8884fef746d67d3cafe Mon Sep 17 00:00:00 2001
|
|
From: Ondrej Holy <oholy@redhat.com>
|
|
Date: Fri, 20 Jan 2023 09:17:00 +0100
|
|
Subject: [PATCH] trash: Do not create monitors for non-root items
|
|
|
|
The `create_dir_monitor` and `create_file_monitor` methods never fail
|
|
currently. However, no events are emitted for non-root items. Let's
|
|
return the `G_IO_ERROR_NOT_SUPPORTED` error for non-root items instead.
|
|
---
|
|
daemon/gvfsbackendtrash.c | 22 ++++++++++++++++------
|
|
1 file changed, 16 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/daemon/gvfsbackendtrash.c b/daemon/gvfsbackendtrash.c
|
|
index d7ec4f77..76c9e006 100644
|
|
--- a/daemon/gvfsbackendtrash.c
|
|
+++ b/daemon/gvfsbackendtrash.c
|
|
@@ -839,10 +839,15 @@ trash_backend_create_dir_monitor (GVfsBackend *vfs_backend,
|
|
GVfsMonitor *monitor;
|
|
|
|
if (!is_root (filename))
|
|
- monitor = g_vfs_monitor_new (vfs_backend);
|
|
- else
|
|
- monitor = trash_backend_get_dir_monitor (backend, TRUE);
|
|
+ {
|
|
+ g_vfs_job_failed (G_VFS_JOB (job),
|
|
+ G_IO_ERROR,
|
|
+ G_IO_ERROR_NOT_SUPPORTED,
|
|
+ _("Operation not supported"));
|
|
+ return TRUE;
|
|
+ }
|
|
|
|
+ monitor = trash_backend_get_dir_monitor (backend, TRUE);
|
|
g_vfs_job_create_monitor_set_monitor (job, monitor);
|
|
g_vfs_job_succeeded (G_VFS_JOB (job));
|
|
g_object_unref (monitor);
|
|
@@ -860,10 +865,15 @@ trash_backend_create_file_monitor (GVfsBackend *vfs_backend,
|
|
GVfsMonitor *monitor;
|
|
|
|
if (!is_root (filename))
|
|
- monitor = g_vfs_monitor_new (vfs_backend);
|
|
- else
|
|
- monitor = trash_backend_get_file_monitor (backend, TRUE);
|
|
+ {
|
|
+ g_vfs_job_failed (G_VFS_JOB (job),
|
|
+ G_IO_ERROR,
|
|
+ G_IO_ERROR_NOT_SUPPORTED,
|
|
+ _("Operation not supported"));
|
|
+ return TRUE;
|
|
+ }
|
|
|
|
+ monitor = trash_backend_get_file_monitor (backend, TRUE);
|
|
g_vfs_job_create_monitor_set_monitor (job, monitor);
|
|
g_vfs_job_succeeded (G_VFS_JOB (job));
|
|
g_object_unref (monitor);
|
|
--
|
|
2.53.0
|
|
|