[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[virt-tools-list] [PATCH virt-viewer 1/2] window: save window geometry if the window is realized



Protect against re-entering fullscreen by moving pre-condition,
keey the last know window geometry, since it stays valid.
---
 src/virt-viewer-window.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c
index 1cd0eee..9e064c7 100644
--- a/src/virt-viewer-window.c
+++ b/src/virt-viewer-window.c
@@ -519,7 +519,6 @@ virt_viewer_window_leave_fullscreen(VirtViewerWindow *self)
         gtk_window_resize(GTK_WINDOW(priv->window),
                           priv->before_fullscreen.width,
                           priv->before_fullscreen.height);
-        priv->before_saved = FALSE;
     }
 }
 
@@ -530,7 +529,11 @@ virt_viewer_window_enter_fullscreen(VirtViewerWindow *self, gint monitor)
     GtkWidget *menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, "top-menu"));
     GtkCheckMenuItem *check = GTK_CHECK_MENU_ITEM(gtk_builder_get_object(priv->builder, "menu-view-fullscreen"));
 
-    if (!priv->before_saved) {
+    if (priv->fullscreen)
+        return;
+    priv->fullscreen = TRUE;
+
+    if (gtk_widget_get_realized(priv->window)) {
         gtk_window_get_position(GTK_WINDOW(priv->window),
                                 &priv->before_fullscreen.x,
                                 &priv->before_fullscreen.y);
@@ -540,10 +543,6 @@ virt_viewer_window_enter_fullscreen(VirtViewerWindow *self, gint monitor)
         priv->before_saved = TRUE;
     }
 
-    if (priv->fullscreen)
-        return;
-    priv->fullscreen = TRUE;
-
     gtk_check_menu_item_set_active(check, TRUE);
     gtk_widget_hide(menu);
     gtk_widget_show(priv->toolbar);
-- 
1.8.1.1.439.g50a6b54


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]