gvfs r1386 - in trunk: . daemon
- From: otte svn gnome org
- To: svn-commits-list gnome org
- Subject: gvfs r1386 - in trunk: . daemon
- Date: Tue, 26 Feb 2008 09:39:24 +0000 (GMT)
Author: otte
Date: Tue Feb 26 09:39:24 2008
New Revision: 1386
URL: http://svn.gnome.org/viewvc/gvfs?rev=1386&view=rev
Log:
2008-02-26 Benjamin Otte <otte gnome org>
* daemon/gvfsjobmount.c: (run), (try):
use ref/unref pair to stop backend from going away when the mount
fails
Modified:
trunk/ChangeLog
trunk/daemon/gvfsjobmount.c
Modified: trunk/daemon/gvfsjobmount.c
==============================================================================
--- trunk/daemon/gvfsjobmount.c (original)
+++ trunk/daemon/gvfsjobmount.c Tue Feb 26 09:39:24 2008
@@ -97,7 +97,8 @@
run (GVfsJob *job)
{
GVfsJobMount *op_job = G_VFS_JOB_MOUNT (job);
- GVfsBackendClass *class = G_VFS_BACKEND_GET_CLASS (op_job->backend);
+ GVfsBackend *backend = op_job->backend;
+ GVfsBackendClass *class = G_VFS_BACKEND_GET_CLASS (backend);
if (class->mount == NULL)
{
@@ -106,27 +107,34 @@
return;
}
- class->mount (op_job->backend,
+ g_object_ref (backend);
+ class->mount (backend,
op_job,
op_job->mount_spec,
op_job->mount_source,
op_job->is_automount);
+ g_object_unref (backend);
}
static gboolean
try (GVfsJob *job)
{
GVfsJobMount *op_job = G_VFS_JOB_MOUNT (job);
- GVfsBackendClass *class = G_VFS_BACKEND_GET_CLASS (op_job->backend);
+ GVfsBackend *backend = op_job->backend;
+ GVfsBackendClass *class = G_VFS_BACKEND_GET_CLASS (backend);
+ gboolean result;
if (class->try_mount == NULL)
return FALSE;
- return class->try_mount (op_job->backend,
- op_job,
- op_job->mount_spec,
- op_job->mount_source,
- op_job->is_automount);
+ g_object_ref (backend);
+ result = class->try_mount (backend,
+ op_job,
+ op_job->mount_spec,
+ op_job->mount_source,
+ op_job->is_automount);
+ g_object_unref (backend);
+ return result;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]