[virt-tools-list] [PATCH 13/22] session: skip monitor changes if there is no sized monitors

marcandre.lureau at redhat.com marcandre.lureau at redhat.com
Tue Jul 31 13:41:16 UTC 2018


From: Marc-André Lureau <marcandre.lureau at redhat.com>

spice-gtk discards configurations without any sized monitors.

Also shuts extra warnings when shifting the monitors.

Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
---
 src/virt-viewer-session.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/virt-viewer-session.c b/src/virt-viewer-session.c
index 5bac3d9..cd1f037 100644
--- a/src/virt-viewer-session.c
+++ b/src/virt-viewer-session.c
@@ -406,6 +406,7 @@ virt_viewer_session_on_monitor_geometry_changed(VirtViewerSession* self,
     gboolean all_fullscreen = TRUE;
     /* GHashTable<gint, GdkRectangle*> */
     GHashTable *monitors;
+    gint n_sized_monitors = 0;
     GList *l;
 
     klass = VIRT_VIEWER_SESSION_GET_CLASS(self);
@@ -421,6 +422,8 @@ virt_viewer_session_on_monitor_geometry_changed(VirtViewerSession* self,
 
         g_object_get(d, "nth-display", &nth, NULL);
         virt_viewer_display_get_preferred_monitor_geometry(d, rect);
+        if (rect->width > 0 && rect->height > 0)
+            n_sized_monitors++;
 
         if (virt_viewer_display_get_enabled(d) &&
             !virt_viewer_display_get_fullscreen(d))
@@ -428,6 +431,9 @@ virt_viewer_session_on_monitor_geometry_changed(VirtViewerSession* self,
         g_hash_table_insert(monitors, GINT_TO_POINTER(nth), rect);
     }
 
+    if (!n_sized_monitors)
+        return;
+
     if (!all_fullscreen)
         virt_viewer_align_monitors_linear(monitors);
 
-- 
2.18.0.321.gffc6fa0e39




More information about the virt-tools-list mailing list