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@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel