From dbd70fcab24cdb32d3849349d133b9803511281a Mon Sep 17 00:00:00 2001 From: Jonathon Jongsma Date: Fri, 18 Oct 2013 11:18:37 -0500 Subject: [PATCH] Set Spice display to fullscreen if owning window is pending fullscreen When you call virt_viewer_window_enter_fullscreen() on a hidden window, it didn't actually change its fullscreen state. Instead, it sets up a map-event handler to enter fullscreen after it is shown. When _set_display() is called on a window that is pending fullscreen status, it initially sets the fullscreen state of the display to FALSE, which can cause an unwanted resize to be sent down to the guest. This patch changes the behavior to set its fullscreen state to TRUE even before the window is shown. (cherry picked from commit 34bbb275a6d2e10d69fe5eb919d0351185c1b5f0) https://bugzilla.redhat.com/show_bug.cgi?id=920988 --- src/virt-viewer-window.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c index 2a91fba..2bb5986 100644 --- a/src/virt-viewer-window.c +++ b/src/virt-viewer-window.c @@ -516,6 +516,7 @@ mapped(GtkWidget *widget, GdkEvent *event G_GNUC_UNUSED, VirtViewerWindow *self) { g_signal_handlers_disconnect_by_func(widget, mapped, self); + self->priv->fullscreen = FALSE; virt_viewer_window_enter_fullscreen(self, self->priv->fullscreen_monitor); return FALSE; } @@ -531,14 +532,13 @@ virt_viewer_window_enter_fullscreen(VirtViewerWindow *self, gint monitor) return; priv->fullscreen_monitor = monitor; + priv->fullscreen = TRUE; if (!gtk_widget_get_mapped(priv->window)) { g_signal_connect(priv->window, "map-event", G_CALLBACK(mapped), self); return; } - priv->fullscreen = TRUE; - gtk_check_menu_item_set_active(check, TRUE); gtk_widget_hide(menu); gtk_widget_show(priv->toolbar);