According to vdagent fileXfer, it requires a VD_AGENT_FILE_XFER_STATUS_CANCELLED msg when user cancel a file transfer. Currently our code only send VD_AGENT_FILE_XFER_STATUS_ERROR, this will cause the vdagent lock the file until it restart, you can't remove the broken file.
diff --git a/src/channel-main.c b/src/channel-main.c index 8138fd5..7a9af7b 100644 --- a/src/channel-main.c +++ b/src/channel-main.c @@ -1922,7 +1922,8 @@ static void file_xfer_read_cb(GObject *source_object, } else if (error) { VDAgentFileXferStatusMessage msg = { .id = self->priv->id, - .result = VD_AGENT_FILE_XFER_STATUS_ERROR, + .result = error->code == G_IO_ERROR_CANCELLED ? + VD_AGENT_FILE_XFER_STATUS_CANCELLED : VD_AGENT_FILE_XFER_STATUS_ERROR, }; agent_msg_queue_many(self->priv->channel, VD_AGENT_FILE_XFER_STATUS, &msg, sizeof(msg), NULL); -- Jay.Han
_______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel