[Spice-devel] [PATCH spice-gtk 2/2] Send monitor config if guest supports sparse monitors

Pavel Grunt pgrunt at redhat.com
Fri Jun 19 09:07:27 PDT 2015


It is ok to send monitor configuration even for displays which are not
disabled or enabled. Because the guest having support for the sparse
monitor configuration (VD_AGENT_CAP_SPARSE_MONITORS_CONFIG) will not
resize the monitor which is disabled / undefined.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=90914
---
 src/channel-main.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/channel-main.c b/src/channel-main.c
index 4e8046e..c7ba773 100644
--- a/src/channel-main.c
+++ b/src/channel-main.c
@@ -1428,14 +1428,15 @@ static gboolean timer_set_display(gpointer data)
 
     session = spice_channel_get_session(SPICE_CHANNEL(channel));
 
-    /* ensure we have an explicit monitor configuration at least for
-       number of display channels */
-    for (i = 0; i < spice_session_get_n_display_channels(session); i++)
-        if (c->display[i].display_state == DISPLAY_UNDEFINED) {
-            SPICE_DEBUG("Not sending monitors config, missing monitors");
-            return FALSE;
-        }
-
+    if (!spice_main_agent_test_capability(channel, VD_AGENT_CAP_SPARSE_MONITORS_CONFIG)) {
+        /* ensure we have an explicit monitor configuration at least for
+           number of display channels */
+        for (i = 0; i < spice_session_get_n_display_channels(session); i++)
+            if (c->display[i].display_state == DISPLAY_UNDEFINED) {
+                SPICE_DEBUG("Not sending monitors config, missing monitors");
+                return FALSE;
+            }
+    }
     spice_main_send_monitor_config(channel);
 
     return FALSE;
-- 
2.4.4



More information about the Spice-devel mailing list