[virt-tools-list] [PATCH] virt-viewer: fix display of guest name in title for vnc
Pavel Grunt
pgrunt at redhat.com
Tue Jul 12 10:15:00 UTC 2016
On Tue, 2016-07-12 at 11:11 +0100, Daniel P. Berrange wrote:
> On Tue, Jul 12, 2016 at 12:04:54PM +0200, Pavel Grunt wrote:
> >
> > Hi,
> >
> > On Tue, 2016-07-12 at 10:48 +0100, Daniel P. Berrange wrote:
> > >
> > > The following commit broke the display of the guest name in
> > > the title for VNC displays:
> > >
> > > commit 61a1bc4dcbb056755fe96c5945f84c1312041059
> > > Author: Pavel Grunt <pgrunt at redhat.com>
> > > Date: Wed Apr 15 13:50:35 2015 +0200
> > >
> > > session-vnc: Set window for display to avoid gtk-vnc v0.3.8 crash
> > >
> > What about reverting that commit ? virt-viewer depends on v0.4.0 now
>
> Sure, we could do that too, but it still seems like the
> ensure_window_for_display() method is rather buggy as it
> is written now - I could easily see us hitting that problem
> again in future.
>
> So I'd suggest applying this and reverting that commit too.
>
I tested that reverting causes other problems - virt-viewer's windows is not
resized to match the guest's display resolution.
Pavel
> >
> >
> > Pavel
> >
> >
> > >
> > > The VNC display widget of gtk-vnc v0.3.8 needs a window at the moment
> > >
> > > The problem is that this causes the window to be associated
> > > with the display before the guest name is available. Thus
> > > when ensure_window_for_display() runs, the window is already
> > > configured and so it never invokes the logic to set the title.
> > >
> > > The fix is to unconditionally update the title in the
> > > ensure_window_for_display() method, even if the window already
> > > exists.
> > >
> > > Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> > > ---
> > > src/virt-viewer-app.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
> > > index f983db2..e8412ac 100644
> > > --- a/src/virt-viewer-app.c
> > > +++ b/src/virt-viewer-app.c
> > > @@ -898,7 +898,6 @@ ensure_window_for_display(VirtViewerApp *self,
> > > VirtViewerDisplay *display)
> > > if (l && virt_viewer_window_get_display(VIRT_VIEWER_WINDOW(l-
> > > >data))
> > > == NULL) {
> > > win = VIRT_VIEWER_WINDOW(l->data);
> > > g_debug("Found a window without a display, reusing for
> > > display
> > > #%d", nth);
> > > - virt_viewer_app_set_window_subtitle(self, win, nth);
> > > if (self->priv->fullscreen && !self->priv->kiosk)
> > > app_window_try_fullscreen(self, win, nth);
> > > } else {
> > > @@ -907,6 +906,7 @@ ensure_window_for_display(VirtViewerApp *self,
> > > VirtViewerDisplay *display)
> > >
> > > virt_viewer_window_set_display(win, display);
> > > }
> > > + virt_viewer_app_set_window_subtitle(self, win, nth);
> > >
> > > return win;
> > > }
>
> Regards,
> Daniel
More information about the virt-tools-list
mailing list