|
The error handling in gvfschannel.c:start_queued_request() when
there was an error creating the job or when the request was cancelled
caused problems. It didn't set current_job, yet it called
g_vfs_channel_send_error() which eventually resulted in a
call to send_reply_cb which crashed as it assumed current_job
was set.
Also, not returning TRUE for started_job when we sent an error
is problematic as we then could start the next job which caused
us to have two outstanding jobs on the same channel mixing things up
badly.
https://bugzilla.gnome.org/show_bug.cgi?id=675181
|