[Spice-devel] about multihead

2013-03-29 Thread 蒋媛园
hi~ I would like to know what are the restrictions of clients' number in multihead? Thanks in advance yuanyuan ___ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://l

[Spice-devel] [PATCH spice-gtk 16/16] channel-main: Don't g_warn when not finding a file-xfer-id

2013-03-29 Thread Hans de Goede
Since the agent channel can have a significant latency, it is possible for a cancel send from the client to the agent and a status message from the agent to cross each other. If this happens then the file-xfer will no longer be on the list. Printing a g_warning on this (rare but triggerable) condi

[Spice-devel] [PATCH spice-gtk 15/16] channel-main: Cancel active file-xfers on channel/agent disconnect

2013-03-29 Thread Hans de Goede
Signed-off-by: Hans de Goede --- gtk/channel-main.c | 12 1 file changed, 12 insertions(+) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index 7513ead..01c0659 100644 --- a/gtk/channel-main.c +++ b/gtk/channel-main.c @@ -165,6 +165,7 @@ static gboolean main_migrate_handshake_

[Spice-devel] [PATCH spice-gtk 14/16] channel-main: Check no callbacks are pending on xfer start and end

2013-03-29 Thread Hans de Goede
We should never have pending callbacks when we receive a file-xfer start or end (success) message from the agent. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 8 1 file changed, 8 insertions(+) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index 5a05651..7513ead 100644

[Spice-devel] [PATCH spice-gtk 13/16] channel-main: Don't call g_input_stream_close on a NULL stream

2013-03-29 Thread Hans de Goede
If we fail to open a file, task->file_stream will be NULL, so we should not call g_input_stream_close on it. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 5 + 1 file changed, 5 insertions(+) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index c7ac12d..5a05651 100644 --- a/gt

[Spice-devel] [PATCH spice-gtk 12/16] channel-main: Allow calling file_xfer_close_cb with a NULL object

2013-03-29 Thread Hans de Goede
So that it can used for cleanup before we've a file_stream. Note this also gets rid of the weird double initialization of the local stream variable. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gtk/channe

[Spice-devel] [PATCH spice-gtk 11/16] channel-main: Don't close the file_stream if callbacks are pending

2013-03-29 Thread Hans de Goede
If file_xfer_completed gets called while callbacks are pending we should not call g_input_stream_close_async, because: 1) Doing so while another operation is pending on the file_stream will fail 2) Doing so while a non file_stream callback is pending may result in the task being freed before the ca

[Spice-devel] [PATCH spice-gtk 10/16] channel-main: Use file_xfer_completed where appropriate

2013-03-29 Thread Hans de Goede
Signed-off-by: Hans de Goede --- gtk/channel-main.c | 37 +++-- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index 10ba175..b0d60eb 100644 --- a/gtk/channel-main.c +++ b/gtk/channel-main.c @@ -163,6 +163,7

[Spice-devel] [PATCH spice-gtk 09/16] channel-main: file_xfer_failed -> file_xfer_completed

2013-03-29 Thread Hans de Goede
Make file_xfer_failed usable for all file_stream closing. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index bd27ef4..10ba175 100644 --- a/gtk/channel-main.c +++ b/g

[Spice-devel] [PATCH spice-gtk 08/16] channel-main: Make SpiceFileXferTask-s ref the channel

2013-03-29 Thread Hans de Goede
So that the channel sticks around while their callbacks are completing. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index 8e8a3a5..bd27ef4 100644 --- a/gtk/channel-main.c +++ b/g

[Spice-devel] [PATCH spice-gtk 07/16] channel-main: Reset agent message receive state on agent stop

2013-03-29 Thread Hans de Goede
Discard any partially received messages from the agent on agent stop. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index 672fbcf..8e8a3a5 100644 --- a/gtk/channel-main.c +++

[Spice-devel] [PATCH spice-gtk 06/16] channel-main: Add a spice_main_channel_reset_agent helper function

2013-03-29 Thread Hans de Goede
Signed-off-by: Hans de Goede --- gtk/channel-main.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index 4e766d3..672fbcf 100644 --- a/gtk/channel-main.c +++ b/gtk/channel-main.c @@ -327,22 +327,34 @@ static void spi

[Spice-devel] [PATCH spice-gtk 05/16] channel-main: Drop bogus xfer_id check from file_xfer_send_start_msg_async

2013-03-29 Thread Hans de Goede
xfer_id > UINT32_MAX is never true since xfer_id is an uint32_t, and thus explicit wrapping is not necessary since it will wrap every UINT32_MAX + 1 itereations anyways. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/channel-main.c b/

[Spice-devel] [PATCH spice-gtk 04/16] channel-main: Properly verify result in spice_main_file_copy_finish

2013-03-29 Thread Hans de Goede
Call g_simple_async_result_is_valid on the passed in result to verify it is what we expect. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index 5f981c4..5d18366 100644 --- a/gtk

[Spice-devel] [PATCH spice-gtk 03/16] channel-main: Call g_simple_async_result_is_valid first

2013-03-29 Thread Hans de Goede
Call g_simple_async_result_is_valid before using the result. Signed-off-by: Hans de Goede --- gtk/channel-main.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gtk/channel-main.c b/gtk/channel-main.c index 257ded5..5f981c4 100644 --- a/gtk/channel-main.c +++ b/gtk/ch

[Spice-devel] [PATCH spice-gtk 02/16] Revert "channel-main: Fix dangling references to freed file-xfer-tasks on agent cancel"

2013-03-29 Thread Hans de Goede
The fix from commit 19313a133af0d2404b29914b5937219127ad455b is incomplete, this commit added code to file_xfer_close_cb, to remove any reference to the task being closed from the flushing queue. But file_xfer_flushed / file_xfer_flush_async execute file_xfer_data_flushed_cb from an idle handler,

[Spice-devel] [PATCH spice-gtk 01/16] spice-widget: Fix file drag-n-drop mime-type

2013-03-29 Thread Hans de Goede
Currently the user can drag-drop text onto the widget, and it will try to open it as a file, not good, this fixes this. Signed-off-by: Hans de Goede --- gtk/spice-widget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c index fb8094e..2

[Spice-devel] spice-gtk file xfer robustness series v2

2013-03-29 Thread Hans de Goede
Here is v2 of my file xfer robustness / error handling series. The main change since v1 is that I've reworked the handling for getting cancelling trasnfers while a callback is pending, since the previous series missed some scenarios where the file-xfer-task would be destroyed while callbacks refer

Re: [Spice-devel] [PATCH spice-gtk 11/15] channel-main: Make SpiceFileXferTask-s ref the channel

2013-03-29 Thread Hans de Goede
Hi, On 03/10/2013 03:44 PM, Hans de Goede wrote: Hi, First of all thanks for the review. On 03/10/2013 03:28 PM, Marc-André Lureau wrote: On Sat, Mar 9, 2013 at 12:06 PM, Hans de Goede wrote: So that the channel sticks around while their callbacks are completing. I am not sure this is a g

[Spice-devel] [PATCH spice-gtk] spice-pulse: Fix set_sink_input_volume() failed on seamless migration

2013-03-29 Thread Hans de Goede
On seamless migration "switch-over" the playback_volume_changed callback gets called, and at this time the channel object's nchannels property is 0, leading to a warning like this: (remote-viewer:8726): GSpice-WARNING **: set_sink_input_volume() failed: Invalid argument This patch fixes this. S

[Spice-devel] [PATCH spice 3/3] char_device: Don't set active when stopped and don't access dev after unref

2013-03-29 Thread Hans de Goede
2 closely related changes in one: 1) When leaving the read or write loop because the chardev has been stopped active should not be updated. It has been set to FALSE by spice_char_device_stop and should stay FALSE 2) The updating of dev->active should be done *before* unref-ing dev Signed-off-by: H

[Spice-devel] [PATCH spice 2/3] char_device: Don't set the write-retry timer when not running

2013-03-29 Thread Hans de Goede
The write-retry timer should not be set when we're leaving spice_char_device_write_to_device because the char-dev has been stopped. Signed-off-by: Hans de Goede --- server/char_device.c | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/server/char_device.c b/server/

[Spice-devel] [PATCH spice 1/3] char_device: Properly update buffer status when leaving the write loop on stop

2013-03-29 Thread Hans de Goede
Before this patch the write-loop in spice_char_device_write_to_device would break on running becoming 0, after having written some data, without updating the buffer status, causing the same data to be written *again* when started. Signed-off-by: Hans de Goede --- server/char_device.c | 5 +

Re: [Spice-devel] W7 and W8 problems

2013-03-29 Thread Christophe Fergeau
Hi, On Thu, Mar 28, 2013 at 09:25:55PM -0700, Todd And Margo Chester wrote: > And Windows W7 complains about the driver not being signed. > (I figured a way to get around it). Yes that's a known limitation with these free drivers. > > Is there any sign of any update to spice-guest-tools in > ou