[virt-tools-list] [PATCH virt-viewer] rhbz#1111514: Fix un-shrinkable displays on windows guests

Jonathon Jongsma jjongsma at redhat.com
Mon Jun 23 15:05:02 UTC 2014


Hi Christophe,

----- Original Message -----
> From: "Christophe Fergeau" <cfergeau at redhat.com>
> To: "Jonathon Jongsma" <jjongsma at redhat.com>
> Cc: virt-tools-list at redhat.com
> Sent: Monday, June 23, 2014 7:35:34 AM
> Subject: Re: [virt-tools-list] [PATCH virt-viewer] rhbz#1111514: Fix un-shrinkable displays on windows guests
> 
> Hey,
> 
> On Fri, Jun 20, 2014 at 03:02:28PM -0500, Jonathon Jongsma wrote:
> > Commit 6edde5786 introduced a regression wrt shrinking windows on windows
> > guests. This seems to be because resizing a display often causes the
> > notebook
> > widget to switch to the status page temporarily (often so quickly that it's
> > not
> > noticeable to the eye). This causes a quick 'unmap' and 'map' event
> > sequence on
> > the display widget. Apparently the timing of these events varies enough
> > between
> > linux and windows guests that it is only noticeable on windows gueststhe
> > timing
> > of these events varies enough between linux and windows guests that it is
> > only
> > noticeable on windows guests. The exact sequence that causes the bug
> > appears to
> > be as follows:
> > 
> > 1 user resizes window smaller
> > 2 display widget gets a new allocation, which causes it to send a display
> >   reconfiguration to the guest
> > 3 client receives a new show-hint for the display which causes it to switch
> >   temporarily to the 'status' notebook page
> > 4 display widget gets unmapped
> > 5 Client receives another new show-hint, which causes the display widget to
> > get
> 
> Is it possible to avoid showing this status notebook? I've seen this
> 'connecting to display' showing up on resize sometimes, and this feels
> weird (if that is what is actually show in this case).
> 

The message that is shown should be "Waiting for display %d...".  When connected to guests on the local network, this message is generally not shown long enough for me to notice it, though.

The thing that triggers us to show this status message is the 'ready' state of the SpiceDisplay widget from spice-gtk. So if we wanted to change that behavior, it should probably be done there. Or we could theoretically decide that virt-viewer should not change to the 'status' notebook page when a display becomes unready, but that doesn't seem like a good idea to me. Perhaps we could switch to the status notebook in a timeout handler (e.g. 100ms or so).  This way we'd avoid the case where it switches back and forth immediately, but would still show the status message if the widget didn't become ready before a certain time...

Jonathon




More information about the virt-tools-list mailing list