[Spice-devel] [PATCH spice-gtk 2/2] widget: Set cursor during construction

Pavel Grunt pgrunt at redhat.com
Fri May 12 11:00:01 UTC 2017


In a multimonitor environment can easily happen that a cursor is set
before some of the SpiceDisplays are created. IOW the first created
SpiceDisplay has the cursor but others don't.

To avoid the issue set the initial cursor using the "cursor" property
of the SpiceCursorChannel.

Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1411380
---
 src/spice-widget.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/spice-widget.c b/src/spice-widget.c
index b1c8ab1..8fee34d 100644
--- a/src/spice-widget.c
+++ b/src/spice-widget.c
@@ -2662,7 +2662,7 @@ static void cursor_set(SpiceCursorChannel *channel,
                                             d->mouse_hotspot.x,
                                             d->mouse_hotspot.y);
     } else
-        g_warn_if_reached();
+        return;
 
 #if HAVE_EGL
     if (egl_enabled(d))
@@ -2970,6 +2970,7 @@ static void channel_new(SpiceSession *s, SpiceChannel *channel, gpointer data)
         spice_g_signal_connect_object(channel, "cursor-reset",
                                       G_CALLBACK(cursor_reset), display, 0);
         spice_channel_connect(channel);
+        cursor_set(d->cursor, NULL, display);
         return;
     }
 
-- 
2.12.2



More information about the Spice-devel mailing list