gvfs r1453 - in trunk: . daemon
- From: hadess svn gnome org
- To: svn-commits-list gnome org
- Subject: gvfs r1453 - in trunk: . daemon
- Date: Fri, 29 Feb 2008 12:38:22 +0000 (GMT)
Author: hadess
Date: Fri Feb 29 12:38:21 2008
New Revision: 1453
URL: http://svn.gnome.org/viewvc/gvfs?rev=1453&view=rev
Log:
2008-02-29 Bastien Nocera <hadess hadess net>
* daemon/gvfsbackendobexftp.c (is_connected), (do_mount),
(do_open_for_read), (is_busy), (do_read), (do_query_info),
(do_query_fs_info), (do_enumerate), (do_delete),
(do_make_directory): Don't use a temporary error to set
jobs as failed, use g_vfs_job_failed instead
Error out properly when trying to open a directory for read
Modified:
trunk/ChangeLog
trunk/daemon/gvfsbackendobexftp.c
Modified: trunk/daemon/gvfsbackendobexftp.c
==============================================================================
--- trunk/daemon/gvfsbackendobexftp.c (original)
+++ trunk/daemon/gvfsbackendobexftp.c Fri Feb 29 12:38:21 2008
@@ -395,7 +395,7 @@
op_backend->status = ASYNC_ERROR;
op_backend->error = g_error_new (DBUS_GERROR,
DBUS_GERROR_REMOTE_EXCEPTION,
- error_message);
+ error_message);
g_cond_signal (op_backend->cond);
g_mutex_unlock (op_backend->mutex);
return;
@@ -615,6 +615,18 @@
g_object_unref (info);
return;
}
+ /* If we're trying to open a directory for reading, exit out */
+ if (g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY)
+ {
+ op_backend->doing_io = FALSE;
+ g_mutex_unlock (op_backend->mutex);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_IS_DIRECTORY,
+ _("Can't open directory"));
+ g_object_unref (info);
+ return;
+ }
+
size = g_file_info_get_size (info);
g_object_unref (info);
@@ -622,11 +634,9 @@
{
op_backend->doing_io = FALSE;
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
return;
}
@@ -645,11 +655,9 @@
{
op_backend->doing_io = FALSE;
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
return;
}
@@ -766,13 +774,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
- GError *error;
-
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
return;
}
@@ -907,11 +911,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
g_free (caps_str);
return;
}
@@ -972,11 +974,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
ovu_caps_free (caps);
return;
}
@@ -1099,11 +1099,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
g_object_unref (info);
return;
}
@@ -1128,11 +1126,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
return;
}
@@ -1189,11 +1185,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
g_free (basename);
return;
}
@@ -1213,11 +1207,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
g_free (basename);
return;
}
@@ -1274,11 +1266,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
return;
}
@@ -1295,11 +1285,9 @@
if (g_vfs_job_is_cancelled (G_VFS_JOB (job)))
{
g_mutex_unlock (op_backend->mutex);
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
- g_vfs_job_failed_from_error (G_VFS_JOB (job), error);
- g_error_free (error);
+ g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]