Re: [Spice-devel] [PATCH spice-gtk] vncdisplaykeymap: Use XkbGetMap and XkbGetNames instead of XkbGetKeyboard

2015-02-23 Thread Marc-André Lureau
ack, and pushed thanks On Fri, Feb 20, 2015 at 4:19 PM, Pavel Grunt wrote: > XkbGetKeyboard does not work in XWayland (bfo#89240). > > Fixes https://bugs.freedesktop.org/show_bug.cgi?id=89105 > --- > According to the discussion > http://lists.freedesktop.org/archives/spice-devel/2015-February/0

[Spice-devel] [spice-gtk 2/3] coroutine: Track idle notification/emission in struct coroutine

2015-02-23 Thread Christophe Fergeau
This allows to catch situations when we try to reinit the coroutine using coroutine_init() while a signal/notify idle is pending. This can actually happen with cancelled migration and connect_delayed (which reinits the current coroutine). If channel_disconnect is called from coroutine context when

[Spice-devel] [spice-gtk 3/3] gio-coroutine: Fix leak in corner case

2015-02-23 Thread Christophe Fergeau
When delayed emissions of a signal or a notification is queued in an idle, but the coroutine is re-inited before the idle gets a chance to run, the idle is now removed after warning about it, but the object instance which was referenced as part of the signal/notify delayed emission is never release

[Spice-devel] [spice-gtk RFC 0/3] coroutine: Make signal/notify coroutine code more robust against unexpected coroutine_init()

2015-02-23 Thread Christophe Fergeau
Hey, Before the recent rework of disconnect/channel_reset, it was possible to get in a situation where an idle would get queued, then an attempt to emit a signal from coroutine context would be attempted. The first idle would run, call coroutine_init() which would reset the coroutine state, and

[Spice-devel] [spice-gtk 1/3] gio-coroutine: Factor common code

2015-02-23 Thread Christophe Fergeau
This commit adds a run_in_idle() helper which contains the common code to queue signal emission/notification in an idle when g_coroutine_signal_emit()/g_coroutine_object_notify() are run from coroutine context. --- gtk/gio-coroutine.c | 48 +--- 1 file c

Re: [Spice-devel] [spice-gtk 1/3] gio-coroutine: Factor common code

2015-02-23 Thread Marc-André Lureau
- Original Message - > This commit adds a run_in_idle() helper which contains the common code > to queue signal emission/notification in an idle when > g_coroutine_signal_emit()/g_coroutine_object_notify() are run from > coroutine context. > --- > gtk/gio-coroutine.c | 48 +++

Re: [Spice-devel] [spice-gtk RFC 0/3] coroutine: Make signal/notify coroutine code more robust against unexpected coroutine_init()

2015-02-23 Thread Marc-André Lureau
Hi - Original Message - > Hey, > > Before the recent rework of disconnect/channel_reset, it was possible to get > in a situation where > an idle would get queued, then an attempt to emit a signal from coroutine > context would be attempted. > The first idle would run, call coroutine_init(

Re: [Spice-devel] [spice-gtk 2/3] coroutine: Track idle notification/emission in struct coroutine

2015-02-23 Thread Marc-André Lureau
- Original Message - > This allows to catch situations when we try to reinit the coroutine > using coroutine_init() while a signal/notify idle is pending. > > This can actually happen with cancelled migration and connect_delayed > (which reinits the current coroutine). > If channel_disco

Re: [Spice-devel] [PATCH spice-gtk 1/5] Add GIOStream-based pipe

2015-02-23 Thread Christophe Fergeau
On Sat, Feb 21, 2015 at 01:40:12AM +0100, Marc-André Lureau wrote: > This allows to create a pipe between 2 GIOStream, the input side read > from the peer output side, and vice-versa. > > In the following patches, this will avoid the socket communication > to exchange with the embedded webdav serv

Re: [Spice-devel] [PATCH spice-gtk 2/5] Use libphodav-2 (breaks webdav server temporarily)

2015-02-23 Thread Christophe Fergeau
On Sat, Feb 21, 2015 at 01:40:13AM +0100, Marc-André Lureau wrote: > This change breaks webdav server, since libphodav-2 no longer > set up a TCP service running in a thread. It's up to the client > to decide how best to accept and handle new connections. > > This commits remove all the hacks rela

Re: [Spice-devel] [spice-gtk RFC 0/3] coroutine: Make signal/notify coroutine code more robust against unexpected coroutine_init()

2015-02-23 Thread Christophe Fergeau
On Mon, Feb 23, 2015 at 06:26:44AM -0500, Marc-André Lureau wrote: > Hi > > - Original Message - > > Hey, > > > > Before the recent rework of disconnect/channel_reset, it was possible to get > > in a situation where > > an idle would get queued, then an attempt to emit a signal from corou

Re: [Spice-devel] [spice-gtk RFC 0/3] coroutine: Make signal/notify coroutine code more robust against unexpected coroutine_init()

2015-02-23 Thread Marc-André Lureau
On Mon, Feb 23, 2015 at 1:43 PM, Christophe Fergeau wrote: > Nope, the coroutine was properly finished when I got the issue, but > there was still a queued signal/notify. Then there is a missing warning, because the coroutine should track it's own idle. -- Marc-André Lureau ___

Re: [Spice-devel] [spice-gtk 2/3] coroutine: Track idle notification/emission in struct coroutine

2015-02-23 Thread Christophe Fergeau
On Mon, Feb 23, 2015 at 07:02:07AM -0500, Marc-André Lureau wrote: > > > - Original Message - > > This allows to catch situations when we try to reinit the coroutine > > using coroutine_init() while a signal/notify idle is pending. > > > > This can actually happen with cancelled migratio

Re: [Spice-devel] [spice-gtk RFC 0/3] coroutine: Make signal/notify coroutine code more robust against unexpected coroutine_init()

2015-02-23 Thread Christophe Fergeau
On Mon, Feb 23, 2015 at 01:44:43PM +0100, Marc-André Lureau wrote: > On Mon, Feb 23, 2015 at 1:43 PM, Christophe Fergeau > wrote: > > Nope, the coroutine was properly finished when I got the issue, but > > there was still a queued signal/notify. > > > Then there is a missing warning, because th

Re: [Spice-devel] [PATCH spice-gtk 4/5] session: add share-dir-ro property

2015-02-23 Thread Christophe Fergeau
On Sat, Feb 21, 2015 at 01:40:15AM +0100, Marc-André Lureau wrote: > Add a property to specify if share folder access is read-only. > --- > gtk/spice-session.c | 25 + > 1 file changed, 25 insertions(+) > > diff --git a/gtk/spice-session.c b/gtk/spice-session.c > index ab7

Re: [Spice-devel] [PATCH spice-gtk 5/5] session: bind path and read-only to webdav server

2015-02-23 Thread Christophe Fergeau
On Sat, Feb 21, 2015 at 01:40:16AM +0100, Marc-André Lureau wrote: > Keep the server property in sync with the session properties > --- > gtk/spice-session.c | 7 +++ > 1 file changed, 7 insertions(+) > > diff --git a/gtk/spice-session.c b/gtk/spice-session.c > index 63a455d..e785ceb 100644 >

Re: [Spice-devel] [PATCH spice-gtk 1/5] Add GIOStream-based pipe

2015-02-23 Thread Marc-André Lureau
On Mon, Feb 23, 2015 at 1:28 PM, Christophe Fergeau wrote: > On Sat, Feb 21, 2015 at 01:40:12AM +0100, Marc-André Lureau wrote: >> This allows to create a pipe between 2 GIOStream, the input side read >> from the peer output side, and vice-versa. >> >> In the following patches, this will avoid the

Re: [Spice-devel] [PATCH spice-gtk 5/5] session: bind path and read-only to webdav server

2015-02-23 Thread Marc-André Lureau
- Original Message - > On Sat, Feb 21, 2015 at 01:40:16AM +0100, Marc-André Lureau wrote: > > Keep the server property in sync with the session properties > > --- > > gtk/spice-session.c | 7 +++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/gtk/spice-session.c b/gtk/spic

Re: [Spice-devel] [PATCH spice-gtk 2/5] Use libphodav-2 (breaks webdav server temporarily)

2015-02-23 Thread Marc-André Lureau
On Mon, Feb 23, 2015 at 1:38 PM, Christophe Fergeau wrote: > even libsoup git is not 2.50, are you 100% sure this is the version > number which will be used when a release is made? Very likely: https://git.gnome.org/browse/libsoup/tree/libsoup/soup-server.h#n113 I will ask Dan to release it soon

Re: [Spice-devel] [spice-gtk 2/3] coroutine: Track idle notification/emission in struct coroutine

2015-02-23 Thread Marc-André Lureau
On Mon, Feb 23, 2015 at 1:46 PM, Christophe Fergeau wrote: > I'm not exactly sure what you are suggesting me to do here. You could have a coroutine protocol to share data owned by the coroutine, for example: << ptr = coroutine_resume (co) >> coroutine ptr = alloc shared struct yield (ptr) Thi

Re: [Spice-devel] [PATCH spice-gtk 4/5] session: add share-dir-ro property

2015-02-23 Thread Marc-André Lureau
On Mon, Feb 23, 2015 at 2:08 PM, Christophe Fergeau wrote: > I'd use shared_dir_ro throughout this patch to be similar to > 'shared_dir'. Looks good otherwise. I changed my mind, as can be seen in the left comment. I prefer share-dir-ro though, because it's "Share directory read-only" and not "S

Re: [Spice-devel] [PATCH spice-gtk 4/5] session: add share-dir-ro property

2015-02-23 Thread Christophe Fergeau
On Mon, Feb 23, 2015 at 03:12:19PM +0100, Marc-André Lureau wrote: > On Mon, Feb 23, 2015 at 2:08 PM, Christophe Fergeau > wrote: > > I'd use shared_dir_ro throughout this patch to be similar to > > 'shared_dir'. Looks good otherwise. > > > I changed my mind, as can be seen in the left comment.

Re: [Spice-devel] dynamic screen sizing

2015-02-23 Thread Andres Heinloo
On 02/21/2015 04:09 AM, ToddAndMargo wrote: On 02/20/2015 05:39 PM, ToddAndMargo wrote: On 02/20/2015 05:34 PM, Marc-André Lureau wrote: Hi - Original Message - What am I doing wrong? (I can't wait to get this fixed!) That looks correct, what is your client? Can you get SPICE_DEBU

Re: [Spice-devel] [PATCH spice-gtk 4/5] session: add share-dir-ro property

2015-02-23 Thread Marc-André Lureau
- Original Message - > On Mon, Feb 23, 2015 at 03:12:19PM +0100, Marc-André Lureau wrote: > > On Mon, Feb 23, 2015 at 2:08 PM, Christophe Fergeau > > wrote: > > > I'd use shared_dir_ro throughout this patch to be similar to > > > 'shared_dir'. Looks good otherwise. > > > > > > I change

[Spice-devel] [PATCH spice-gtk] Add GIOStream-based pipe

2015-02-23 Thread Marc-André Lureau
This code creates a pipe between 2 GIOStream, the input side read from the peer output side, and vice-versa. In the following patches, this will avoid the socket communication to exchange with the embedded webdav server. glib-2.0 >= 2.43.90 because GSimpleIOStream dependency. --- Addresses Chris

Re: [Spice-devel] [PATCH spice-gtk 1/5] Add GIOStream-based pipe

2015-02-23 Thread Christophe Fergeau
On Mon, Feb 23, 2015 at 02:22:42PM +0100, Marc-André Lureau wrote: > On Mon, Feb 23, 2015 at 1:28 PM, Christophe Fergeau > wrote: > > On Sat, Feb 21, 2015 at 01:40:12AM +0100, Marc-André Lureau wrote: > >> This allows to create a pipe between 2 GIOStream, the input side read > >> from the peer ou

Re: [Spice-devel] [PATCH spice-gtk] Add GIOStream-based pipe

2015-02-23 Thread Christophe Fergeau
On Mon, Feb 23, 2015 at 03:32:21PM +0100, Marc-André Lureau wrote: > This code creates a pipe between 2 GIOStream, the input side read from > the peer output side, and vice-versa. > > In the following patches, this will avoid the socket communication > to exchange with the embedded webdav server.

Re: [Spice-devel] [PATCH spice-gtk 3/5] webdav: use a pipe to connect to server

2015-02-23 Thread Christophe Fergeau
On Sat, Feb 21, 2015 at 01:40:14AM +0100, Marc-André Lureau wrote: > Instead of listening on TCP sockets, and proxying connections there, > make the webdav server accept new connections from stream. The streams > are user-space GIOStream pipe, one side is connected to the Spice webdav > channel mux

Re: [Spice-devel] [PATCH spice-gtk] Add GIOStream-based pipe

2015-02-23 Thread Marc-André Lureau
On Mon, Feb 23, 2015 at 3:45 PM, Christophe Fergeau wrote: > Don't forget the -v3 argument to git send-email when sending the 3rd > revision of a patch (series). Is there such an argument? That would be nice. Alternatively, this makes me think about using bugzilla again. Some time ago, I though

Re: [Spice-devel] [PATCH spice-gtk 3/5] webdav: use a pipe to connect to server

2015-02-23 Thread Marc-André Lureau
On Mon, Feb 23, 2015 at 3:57 PM, Christophe Fergeau wrote: > Is it required to pass this fake 127.0.0.1 address? > soup_server_accept_iostream says it can accept NULL local/remote > addresses. It depends how you use the server. If you accept http 1.0 requests (right now phodav doesn't prevent tha

Re: [Spice-devel] [PATCH spice-gtk 1/5] Add GIOStream-based pipe

2015-02-23 Thread Marc-André Lureau
Hi - Original Message - > > Because that field is for peer closing. I can rename it peer_closed > > perhaps? (peer->peer_closed...) > > You lost me here. Do you mean PipeInputStream::closed means that the > peer PipeOutputStream has been closed? If that's what you mean, then it > definite

Re: [Spice-devel] [PATCH spice-gtk] Add GIOStream-based pipe

2015-02-23 Thread Marc-André Lureau
ack with s/closed/peer_closed ? On Mon, Feb 23, 2015 at 4:00 PM, Marc-André Lureau wrote: > On Mon, Feb 23, 2015 at 3:45 PM, Christophe Fergeau > wrote: >> Don't forget the -v3 argument to git send-email when sending the 3rd >> revision of a patch (series). > > > Is there such an argument? That

Re: [Spice-devel] [PATCH spice-gtk] Add GIOStream-based pipe

2015-02-23 Thread Christophe Fergeau
On Mon, Feb 23, 2015 at 04:00:36PM +0100, Marc-André Lureau wrote: > On Mon, Feb 23, 2015 at 3:45 PM, Christophe Fergeau > wrote: > > Don't forget the -v3 argument to git send-email when sending the 3rd > > revision of a patch (series). > > > Is there such an argument? That would be nice. Alter

Re: [Spice-devel] [PATCH spice-gtk 1/5] Add GIOStream-based pipe

2015-02-23 Thread Christophe Fergeau
On Mon, Feb 23, 2015 at 10:09:49AM -0500, Marc-André Lureau wrote: > Hi > > - Original Message - > > > Because that field is for peer closing. I can rename it peer_closed > > > perhaps? (peer->peer_closed...) > > > > You lost me here. Do you mean PipeInputStream::closed means that the > >

Re: [Spice-devel] [PATCH spice-gtk 1/5] Add GIOStream-based pipe

2015-02-23 Thread Marc-André Lureau
On Mon, Feb 23, 2015 at 4:28 PM, Christophe Fergeau wrote: > pipe_closed then if that variable does not specifically refer to either > side of the pipe being closed ? That's why "closed" is fine too. So let's call it peer_closed, since it's the peer who actually set the close = TRUE. -- Marc-A

Re: [Spice-devel] dynamic screen sizing

2015-02-23 Thread ToddAndMargo
On 02/23/2015 06:10 AM, Andres Heinloo wrote: On 02/21/2015 04:09 AM, ToddAndMargo wrote: On 02/20/2015 05:39 PM, ToddAndMargo wrote: On 02/20/2015 05:34 PM, Marc-André Lureau wrote: Hi - Original Message - What am I doing wrong? (I can't wait to get this fixed!) That looks corre