[virt-tools-list] [PATCH 1/2] Revert support for resizing guest desktop

Daniel P. Berrange berrange at redhat.com
Tue Feb 7 17:10:53 UTC 2012


From: "Daniel P. Berrange" <berrange at redhat.com>

The SpiceDisplay widget has built-in support for resizing the
guest desktop, but this does not know that virt-viewer has a
zoom level setting. This makes the virt-viewer zoom completely
inoperable. Revert use of the 'resize-guest' property.
---
 src/virt-viewer-display-spice.c |    4 +---
 src/virt-viewer-display.c       |   21 ++-------------------
 src/virt-viewer-display.h       |    2 --
 3 files changed, 3 insertions(+), 24 deletions(-)

diff --git a/src/virt-viewer-display-spice.c b/src/virt-viewer-display-spice.c
index 53d0fa6..d3b44b8 100644
--- a/src/virt-viewer-display-spice.c
+++ b/src/virt-viewer-display-spice.c
@@ -75,8 +75,6 @@ static void
 virt_viewer_display_spice_init(VirtViewerDisplaySpice *self G_GNUC_UNUSED)
 {
     self->priv = VIRT_VIEWER_DISPLAY_SPICE_GET_PRIVATE(self);
-
-    virt_viewer_display_set_maintain_aspect_ratio(VIRT_VIEWER_DISPLAY(self), FALSE);
 }
 
 static void
@@ -181,8 +179,8 @@ virt_viewer_display_spice_new(SpiceChannel *channel,
     g_object_set(self->priv->display,
                  "grab-keyboard", TRUE,
                  "grab-mouse", TRUE,
+                 "resize-guest", FALSE,
                  "scaling", TRUE,
-                 "resize-guest", TRUE,
                  NULL);
 
     g_signal_connect(self->priv->display,
diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c
index 9f51655..1d2ade2 100644
--- a/src/virt-viewer-display.c
+++ b/src/virt-viewer-display.c
@@ -40,7 +40,6 @@ struct _VirtViewerDisplayPrivate
     gboolean zoom;
     gint nth_display;
     gint show_hint;
-    gboolean maintain_aspect_ratio;
 };
 
 static void virt_viewer_display_size_request(GtkWidget *widget,
@@ -222,7 +221,6 @@ virt_viewer_display_init(VirtViewerDisplay *display)
     display->priv->zoom_level = 100;
     display->priv->zoom = TRUE;
     display->priv->dirty = TRUE;
-    display->priv->maintain_aspect_ratio = TRUE;
 }
 
 GtkWidget*
@@ -389,13 +387,7 @@ virt_viewer_display_size_allocate(GtkWidget *widget,
 
     desktopAspect = (double)priv->desktopWidth / (double)priv->desktopHeight;
 
-    if (child &&
-        gtk_widget_get_visible(child)) {
-        if (!priv->maintain_aspect_ratio) {
-            gtk_widget_size_allocate(child, allocation);
-            goto end;
-        }
-
+    if (child && gtk_widget_get_visible(child)) {
         border_width = gtk_container_get_border_width(GTK_CONTAINER(display));
 
         width  = MAX(1, allocation->width - 2 * border_width);
@@ -417,7 +409,7 @@ virt_viewer_display_size_allocate(GtkWidget *widget,
         gtk_widget_size_allocate(child, &child_allocation);
     }
 
- end:
+
     /* This unsets the size request, so that the user can
      * manually resize the window smaller again
      */
@@ -428,15 +420,6 @@ virt_viewer_display_size_allocate(GtkWidget *widget,
 }
 
 
-void virt_viewer_display_set_maintain_aspect_ratio(VirtViewerDisplay *display,
-                                                   gboolean maintain)
-{
-    g_return_if_fail(VIRT_VIEWER_IS_DISPLAY(display));
-
-    display->priv->maintain_aspect_ratio = maintain;
-}
-
-
 void virt_viewer_display_set_desktop_size(VirtViewerDisplay *display,
                                           guint width,
                                           guint height)
diff --git a/src/virt-viewer-display.h b/src/virt-viewer-display.h
index bf20bcc..5deb923 100644
--- a/src/virt-viewer-display.h
+++ b/src/virt-viewer-display.h
@@ -84,8 +84,6 @@ GType virt_viewer_display_get_type(void);
 
 GtkWidget *virt_viewer_display_new(void);
 
-void virt_viewer_display_set_maintain_aspect_ratio(VirtViewerDisplay *display,
-                                                   gboolean maintain);
 void virt_viewer_display_set_desktop_size(VirtViewerDisplay *display,
                                           guint width,
                                           guint height);
-- 
1.7.7.6




More information about the virt-tools-list mailing list