diff options
| author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-03-26 12:32:32 +0100 |
|---|---|---|
| committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-03-26 12:34:30 +0100 |
| commit | f507f309040071fc8be9162bb307c37ef7045e82 (patch) | |
| tree | 54b4786b119b440e6ea808a3ec45a6592ae540d7 /src | |
| parent | d2c4739dc5f6b2407502cd47de0585d245cb5d0f (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.c | 11 |
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); |
