From: Victor Toso <me@xxxxxxxxxxxxxx> Documentation for gdk_display_get_primary_monitor() says that it returns "the primary monitor, or NULL if no primary monitor is configured by the user". If monitor endup being NULL, we endup using unitialized GdkRectangle geom later on as gdk_monitor_get_geometry() will fail with: | gdk_monitor_get_geometry: assertion 'GDK_IS_MONITOR (monitor)' failed This patch tries gdk_display_get_monitor_at_point() and will fail if no GdkMonitor is set. Signed-off-by: Victor Toso <victortoso@xxxxxxxxxx> --- src/spice-widget.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/spice-widget.c b/src/spice-widget.c index 8adcc38..e69b808 100644 --- a/src/spice-widget.c +++ b/src/spice-widget.c @@ -1129,6 +1129,11 @@ static void mouse_wrap(SpiceDisplay *display, GdkEventMotion *motion) GdkWindow *gdk_window = gtk_widget_get_window(GTK_WIDGET(display)); GdkDisplay *gdk_display = gdk_window_get_display(gdk_window); GdkMonitor *monitor = gdk_display_get_primary_monitor(gdk_display); + if (monitor == NULL) { + /* No primary monitor set, using last mouse coordinates */ + monitor = gdk_display_get_monitor_at_point(gdk_display, d->mouse_last_x, d->mouse_last_y); + } + g_return_if_fail(monitor != NULL); gdk_monitor_get_geometry(monitor, &geom); xr = geom.width / 2; -- 2.20.1 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel