ACK On Tue, Apr 10, 2012 at 01:26:36PM +0200, Marc-André Lureau wrote: > cursor_set() didn't un-hide correctly by setting "show_cursor" to > NULL.
This is in client-mode that this wasn't done, right? ACK otherwise Christophe > > The code is simplified a bit in server mode case, where the new cursor > will be invalidated and shown during cursor move only, instead of > twice (checked no regression with dual-head server mode) > --- > gtk/spice-widget.c | 18 +++++++++++------- > 1 files changed, 11 insertions(+), 7 deletions(-) > > diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c > index ff361bf..30e58dc 100644 > --- a/gtk/spice-widget.c > +++ b/gtk/spice-widget.c > @@ -1645,17 +1645,21 @@ static void cursor_set(SpiceCursorChannel *channel, > } else > g_warn_if_reached(); > > - if (d->show_cursor && d->mouse_mode == SPICE_MOUSE_MODE_SERVER) { > - /* keep hidden cursor, will be shown in cursor_move() */ > + if (d->show_cursor) { > + /* unhide */ > gdk_cursor_unref(d->show_cursor); > - d->show_cursor = cursor; > - } else { > - gdk_cursor_unref(d->mouse_cursor); > - d->mouse_cursor = cursor; > + d->show_cursor = NULL; > + if (d->mouse_mode == SPICE_MOUSE_MODE_SERVER) { > + /* keep a hidden cursor, will be shown in cursor_move() */ > + d->show_cursor = cursor; > + return; > + } > } > > - update_mouse_pointer(display); > + gdk_cursor_unref(d->mouse_cursor); > + d->mouse_cursor = cursor; > > + update_mouse_pointer(display); > cursor_invalidate(display); > } > > -- > 1.7.7.6 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel
pgpQpBDp1IMOW.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel