ftp: GVfsJobPull: perform any cache lookups before opening data connection
After the delete op, cache was invalidated and an attempt was made to retrieve
file size in do_pull() while data connection was already opened. This patch
only moves all necessary operations before setting up actual data stream for
download.
sftp: retain chosen password save option across mount phases
When username changes, we need to respawn the underlying process and
go through handle_login() again. We need to save the GPasswordSave value
temporarily to have the password actually saved if desired.
8d09266...
by
Alexander Larsson <email address hidden>
Avoid crash on race to mount gvfstrash
If the trash is already mounted (due to e.g. a race) when registering the
new trash backend we error out and free the trash backend. This caused
the g_assert_not_reached() in trash_watcher_free to hit.
(cherry picked from commit d618141ea5161d05e388e9fbfa4148a6abd976b1)
gvfs <= 1.5.1 does not properly call the finalize function of backends,
due to a missing unref call. This causes the cleanup functions of the
libraries underlying the backends to not get called.
In case of the gphoto2 backend, this causes the kernel driver for dual
mode webcams (which have a kernel space webcam driver and a userspace
stillcam driver), to not get re-attached to the device when then the gvfs
mount gets unmounted.
This patch fixes this by adding a g_object_unref (job) to
g_vfs_daemon_initiate_mount, which is needed as g_vfs_daemon_queue_job
takes a reference itself.