From 9d1bcdd906535232a886f3b170b85afe9896fcd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com>
Date: Mon, 19 Aug 2013 19:44:25 +0200
Subject: [PATCH] Return existing window in app_window_new()
Since the returned window is weak, it can already returns existing
windows (instead of creating one and failing to insert).
This allows the following set_kiosk() function to create a main window
before the app constructor is called.
(cherry picked from commit cd7b5761af9691745f1cee7fa863298db417f8d1)
https://bugzilla.redhat.com/show_bug.cgi?id=1040926
---
src/virt-viewer-app.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index 637896e..fd98e62 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -658,6 +658,10 @@ virt_viewer_app_window_new(VirtViewerApp *self, gint nth)
VirtViewerWindow* window;
GtkWindow *w;
+ window = virt_viewer_app_get_nth_window(self, nth);
+ if (window)
+ return window;
+
window = g_object_new(VIRT_VIEWER_TYPE_WINDOW, "app", self, NULL);
if (self->priv->main_window)
virt_viewer_window_set_zoom_level(window, virt_viewer_window_get_zoom_level(self->priv->main_window));