summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--daemon/gvfsbackendmtp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/daemon/gvfsbackendmtp.c b/daemon/gvfsbackendmtp.c
index e049233c..8f1c4df6 100644
--- a/daemon/gvfsbackendmtp.c
+++ b/daemon/gvfsbackendmtp.c
@@ -1767,6 +1767,18 @@ do_push (GVfsBackend *backend,
goto exit;
}
+ /*
+ * Don't do this for >=4GB files with android extensions. Some devices
+ * have trouble transferring large files this way. eg: Nexus 5.
+ */
+ if (g_file_info_get_size (info) > G_MAXUINT32 &&
+ G_VFS_BACKEND_MTP (backend)->android_extension) {
+ g_vfs_job_failed_literal (G_VFS_JOB (job),
+ G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
+ _("Operation unsupported"));
+ goto exit;
+ }
+
gboolean source_is_dir =
g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY;