Blame SOURCES/0017-kiosk-don-t-open-extra-monitors.patch

4a6991
From 4fb186f97bafbe2ff1c162c8e921c21aef3683dd Mon Sep 17 00:00:00 2001
4a6991
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com>
4a6991
Date: Mon, 15 Jul 2013 20:53:15 +0200
4a6991
Subject: [PATCH] kiosk: don't open extra monitors
4a6991
4a6991
In kiosk mode, we don't want new monitors windows that wouldn't fit on
4a6991
the client monitors to come up.
4a6991
4a6991
(cherry picked from commit 1cbacd462ea4925c6a083edb6120e56740a0c5df)
4a6991
https://bugzilla.redhat.com/show_bug.cgi?id=1040926
4a6991
---
4a6991
 src/virt-viewer-app.c | 13 +++++++++++--
4a6991
 1 file changed, 11 insertions(+), 2 deletions(-)
4a6991
4a6991
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
4a6991
index f8c5117..40c2633 100644
4a6991
--- a/src/virt-viewer-app.c
4a6991
+++ b/src/virt-viewer-app.c
4a6991
@@ -738,8 +738,17 @@ virt_viewer_app_display_added(VirtViewerSession *session G_GNUC_UNUSED,
4a6991
     if (nth == 0) {
4a6991
         window = priv->main_window;
4a6991
     } else {
4a6991
-        g_return_if_fail(virt_viewer_app_get_nth_window(self, nth) == NULL);
4a6991
-        window = virt_viewer_app_window_new(self, nth);
4a6991
+        window = virt_viewer_app_get_nth_window(self, nth);
4a6991
+        if (window == NULL) {
4a6991
+            if (priv->kiosk) {
4a6991
+                /* don't show extra monitors that don't fit on client */
4a6991
+                g_debug("kiosk mode: skip extra monitors that don't fit on client");
4a6991
+                g_object_unref(display);
4a6991
+                return;
4a6991
+            }
4a6991
+
4a6991
+            window = virt_viewer_app_window_new(self, nth);
4a6991
+        }
4a6991
     }
4a6991
 
4a6991
     virt_viewer_window_set_display(window, display);