[PATCH] [spice-gtk] DND: fix special case that file size is 0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On windows guest, after dragging a zero-size file, the file will be occupied
by vdagent. For spice-gtk ignores this case, and stops sending data after sending 
a start message to agent, see here for more details:
I accept the suggestion of Christophe and fix the bug in spice-gtk.
Pay attention to the modification of 
agent_msg_queue_many,  I think it's a small trick.

---
 gtk/channel-main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gtk/channel-main.c b/gtk/channel-main.c
index 7a299a4..1e8e3f5 100644
--- a/gtk/channel-main.c
+++ b/gtk/channel-main.c
@@ -936,7 +936,7 @@ static void
​​
agent_msg_queue_many(SpiceMainChannel *channel, int type, const void
     memcpy(payload, &msg, sizeof(VDAgentMessage));
     payload += sizeof(VDAgentMessage);
     paysize -= sizeof(VDAgentMessage);
-    if (paysize == 0) {
+    if (size != 0 && paysize == 0) {
         g_queue_push_tail(c->agent_msg_queue, out);
         out = NULL;
     }
@@ -1637,7 +1637,7 @@ static void file_xfer_read_cb(GObject *source_object,
         return;
     }

-    if (count > 0) {
+    if (count >= 0) {
         task->read_bytes += count;
         file_xfer_queue(task, count);
         file_xfer_flush_async(channel, task->cancellable,
--
1.9.3

--
QSBDT0RFUiBGUk9NIFJJRVNUIE9GIENUU0VV
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]