On Fri, Feb 21, 2014 at 05:04:17PM -0600, Jonathon Jongsma wrote: > When the zoom level is changed, the virt-viewer window gets resized. But we > don't want this to trigger a resize of the guest display. But occasionally > rounding errors cause the guest display to be reconfigured when zooming out. To > fix this, we first check whether the current size is the preferred size. If it > is, we don't send down a resize command to the guest. > > In addition to preventing guest resizes in response to zooming, it also improves > the behavior when the guest display resolution is changed from within the guest. > Before this change, we'd have the following behavior: > A. guest changes display to WxH > B. client gets notified of change and resizes the window to WxH > C. client responds to window resize by sending a new monitor config command to the guest > > With this change, the extra step C will be avoided because we're already at the > preferred size. > > Resolves: rhbz#1004051 > --- > src/virt-viewer-display-spice.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/src/virt-viewer-display-spice.c b/src/virt-viewer-display-spice.c > index d13fbda..ad3fa4d 100644 > --- a/src/virt-viewer-display-spice.c > +++ b/src/virt-viewer-display-spice.c > @@ -193,6 +193,19 @@ virt_viewer_display_spice_size_allocate(VirtViewerDisplaySpice *self, > GtkAllocation *allocation G_GNUC_UNUSED, This G_GNUC_UNUSED can be dropped. > gpointer data G_GNUC_UNUSED) > { > + GtkRequisition preferred; > + gtk_widget_get_preferred_size(GTK_WIDGET(self), NULL, &preferred); > + > + /* when the window gets resized due to a change in zoom level, we don't want > + * to re-size the guest display. So if we get an allocation event that > + * resizes the window to the size it already wants to be (based on desktop > + * size and zoom level), just return early > + */ > + if (preferred.width == allocation->width > + && preferred.height == allocation->height) { > + return; > + } > + Not very familiar with all that code, but why not.. ACK Christophe
Attachment:
pgpEQbe_JElpm.pgp
Description: PGP signature
_______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list