Blob Blame History Raw
From 4fb186f97bafbe2ff1c162c8e921c21aef3683dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com>
Date: Mon, 15 Jul 2013 20:53:15 +0200
Subject: [PATCH] kiosk: don't open extra monitors

In kiosk mode, we don't want new monitors windows that wouldn't fit on
the client monitors to come up.

(cherry picked from commit 1cbacd462ea4925c6a083edb6120e56740a0c5df)
https://bugzilla.redhat.com/show_bug.cgi?id=1040926
---
 src/virt-viewer-app.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index f8c5117..40c2633 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -738,8 +738,17 @@ virt_viewer_app_display_added(VirtViewerSession *session G_GNUC_UNUSED,
     if (nth == 0) {
         window = priv->main_window;
     } else {
-        g_return_if_fail(virt_viewer_app_get_nth_window(self, nth) == NULL);
-        window = virt_viewer_app_window_new(self, nth);
+        window = virt_viewer_app_get_nth_window(self, nth);
+        if (window == NULL) {
+            if (priv->kiosk) {
+                /* don't show extra monitors that don't fit on client */
+                g_debug("kiosk mode: skip extra monitors that don't fit on client");
+                g_object_unref(display);
+                return;
+            }
+
+            window = virt_viewer_app_window_new(self, nth);
+        }
     }
 
     virt_viewer_window_set_display(window, display);