summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-03-26 12:32:32 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-03-26 12:34:30 +0100
commitf507f309040071fc8be9162bb307c37ef7045e82 (patch)
tree54b4786b119b440e6ea808a3ec45a6592ae540d7 /src
parentd2c4739dc5f6b2407502cd47de0585d245cb5d0f (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/virt-viewer-window.c11
1 files 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);