[virt-tools-list] [PATCH virt-viewer 2/2] fullscreen-auto-conf: Use display id according to monitor-mapping
Pavel Grunt
pgrunt at redhat.com
Wed Jun 3 12:44:34 UTC 2015
---
src/virt-viewer-session-spice.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c
index 9c72245..2a036b7 100644
--- a/src/virt-viewer-session-spice.c
+++ b/src/virt-viewer-session-spice.c
@@ -836,6 +836,7 @@ virt_viewer_session_spice_fullscreen_auto_conf(VirtViewerSessionSpice *self)
gint i;
GList *initial_displays, *l;
guint ndisplays;
+ gint *display_ids;
/* only do auto-conf once at startup. Avoid repeating auto-conf later due to
* agent disconnection/re-connection, etc */
@@ -869,10 +870,12 @@ virt_viewer_session_spice_fullscreen_auto_conf(VirtViewerSessionSpice *self)
ndisplays = g_list_length(initial_displays);
g_debug("Performing full screen auto-conf, %u host monitors", ndisplays);
displays = g_new0(GdkRectangle, ndisplays);
+ display_ids = g_new0(gint, ndisplays);
for (ndisplays = 0, l = initial_displays; l != NULL; l = l->next) {
GdkRectangle* rect = &displays[ndisplays];
- gint j = virt_viewer_app_get_initial_monitor_for_display(app, GPOINTER_TO_INT(l->data));
+ display_ids[ndisplays] = GPOINTER_TO_INT(l->data);
+ gint j = virt_viewer_app_get_initial_monitor_for_display(app, display_ids[ndisplays]);
if (j == -1)
continue;
@@ -886,12 +889,13 @@ virt_viewer_session_spice_fullscreen_auto_conf(VirtViewerSessionSpice *self)
for (i = 0; i < ndisplays; i++) {
GdkRectangle *rect = &displays[i];
- spice_main_set_display(cmain, i, rect->x, rect->y, rect->width, rect->height);
- spice_main_set_display_enabled(cmain, i, TRUE);
+ spice_main_set_display(cmain, display_ids[i], rect->x, rect->y, rect->width, rect->height);
+ spice_main_set_display_enabled(cmain, display_ids[i], TRUE);
g_debug("Set SPICE display %d to (%d,%d)-(%dx%d)",
- i, rect->x, rect->y, rect->width, rect->height);
+ display_ids[i], rect->x, rect->y, rect->width, rect->height);
}
g_free(displays);
+ g_free(display_ids);
spice_main_send_monitor_config(cmain);
self->priv->did_auto_conf = TRUE;
--
2.4.2
More information about the virt-tools-list
mailing list