summaryrefslogtreecommitdiff
path: root/daemon/gvfsjobunmount.c
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/gvfsjobunmount.c')
-rw-r--r--daemon/gvfsjobunmount.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/daemon/gvfsjobunmount.c b/daemon/gvfsjobunmount.c
index a23b9be8..4d471bb7 100644
--- a/daemon/gvfsjobunmount.c
+++ b/daemon/gvfsjobunmount.c
@@ -100,13 +100,6 @@ run (GVfsJob *job)
GVfsJobUnmount *op_job = G_VFS_JOB_UNMOUNT (job);
GVfsBackendClass *class = G_VFS_BACKEND_GET_CLASS (op_job->backend);
- if (class->unmount == NULL)
- {
- g_vfs_job_failed (job, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
- _("Operation not supported by backend"));
- return;
- }
-
class->unmount (op_job->backend,
op_job);
}
@@ -118,7 +111,16 @@ try (GVfsJob *job)
GVfsBackendClass *class = G_VFS_BACKEND_GET_CLASS (op_job->backend);
if (class->try_unmount == NULL)
- return FALSE;
+ {
+ if (class->unmount == NULL)
+ {
+ /* If unmount is not implemented we always succeed */
+ g_vfs_job_succeeded (G_VFS_JOB (job));
+ return TRUE;
+ }
+
+ return FALSE;
+ }
return class->try_unmount (op_job->backend,
op_job);