Add a workaround to be able to unmount FTP shares without crashing

nautilus.
This commit is contained in:
ajacoutot 2011-10-20 15:35:29 +00:00
parent 7ffd5fdc51
commit 17b80afe93
2 changed files with 46 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.63 2011/10/17 13:24:59 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.64 2011/10/20 15:35:29 ajacoutot Exp $
COMMENT-main= GNOME virtual file system
COMMENT-smb= samba module for GVFS
@ -9,6 +9,8 @@ GNOME_VERSION= 1.10.1
PKGNAME-main= ${DISTNAME}
PKGNAME-smb= ${GNOME_PROJECT}-smb-${GNOME_VERSION}
REVISION-main= 0
SHARED_LIBS += gvfscommon 3.0 # .0.0
SHARED_LIBS += gvfscommon-dnssd 1.0 # .0.0

View File

@ -0,0 +1,43 @@
$OpenBSD: patch-daemon_gvfsbackendftp_c,v 1.5 2011/10/20 15:35:29 ajacoutot Exp $
https://bugzilla.gnome.org/show_bug.cgi?id=662301
--- daemon/gvfsbackendftp.c.orig Thu Oct 20 17:15:18 2011
+++ daemon/gvfsbackendftp.c Thu Oct 20 17:15:29 2011
@@ -689,28 +689,7 @@ try_mount (GVfsBackend *backend,
return FALSE;
}
-static void
-do_unmount (GVfsBackend * backend,
- GVfsJobUnmount *job,
- GMountUnmountFlags flags,
- GMountSource *mount_source)
-{
- GVfsBackendFtp *ftp = G_VFS_BACKEND_FTP (backend);
- GVfsFtpConnection *conn;
- g_mutex_lock (ftp->mutex);
- while ((conn = g_queue_pop_head (ftp->queue)))
- {
- /* FIXME: properly quit */
- g_vfs_ftp_connection_free (conn);
- }
- g_queue_free (ftp->queue);
- ftp->queue = NULL;
- g_cond_broadcast (ftp->cond);
- g_mutex_unlock (ftp->mutex);
- g_vfs_job_succeeded (G_VFS_JOB (job));
-}
-
/* NB: sets EPERM if file exists, ENOENT if not - an error will _always_ be set */
static void
error_550_permission_or_not_found (GVfsFtpTask *task, gpointer file)
@@ -1670,7 +1649,6 @@ g_vfs_backend_ftp_class_init (GVfsBackendFtpClass *kla
backend_class->mount = do_mount;
backend_class->try_mount = try_mount;
- backend_class->unmount = do_unmount;
backend_class->open_for_read = do_open_for_read;
backend_class->close_read = do_close_read;
backend_class->read = do_read;