summaryrefslogtreecommitdiff
path: root/daemon/gvfsjobmount.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2008-02-26 11:25:56 +0000
committerAlexander Larsson <alexl@src.gnome.org>2008-02-26 11:25:56 +0000
commit5742794285035d57e5760daad3f48e7808c4282e (patch)
tree36a206c742319bbe4f8113d9b0fded33676eb9f2 /daemon/gvfsjobmount.c
parent9874a1fb4116b7155ef00ee9f0644ad5d1131c90 (diff)
downloadgvfs-5742794285035d57e5760daad3f48e7808c4282e.tar.gz
Ref job while calling out.
2008-02-26 Alexander Larsson <alexl@redhat.com> * daemon/gvfsjob.c: (g_vfs_job_run): (g_vfs_job_try): Ref job while calling out. * daemon/gvfsjobmount.c: Own ref to backend while job is alive. svn path=/trunk/; revision=1391
Diffstat (limited to 'daemon/gvfsjobmount.c')
-rw-r--r--daemon/gvfsjobmount.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/daemon/gvfsjobmount.c b/daemon/gvfsjobmount.c
index ca2d69e5..5faefac0 100644
--- a/daemon/gvfsjobmount.c
+++ b/daemon/gvfsjobmount.c
@@ -49,6 +49,7 @@ g_vfs_job_mount_finalize (GObject *object)
g_mount_spec_unref (job->mount_spec);
g_object_unref (job->mount_source);
+ g_object_unref (job->backend);
if (G_OBJECT_CLASS (g_vfs_job_mount_parent_class)->finalize)
(*G_OBJECT_CLASS (g_vfs_job_mount_parent_class)->finalize) (object);
@@ -86,7 +87,9 @@ g_vfs_job_mount_new (GMountSpec *spec,
job->mount_spec = g_mount_spec_ref (spec);
job->mount_source = g_object_ref (source);
job->is_automount = is_automount;
- job->backend = backend;
+ /* Ref the backend so we're sure its alive
+ during the whole job request. */
+ job->backend = g_object_ref (backend);
if (request)
job->request = dbus_message_ref (request);