[virt-tools-list] [PATCH virt-viewer] Disable CSD to avoid rendering issues
Daniel P. Berrange
berrange at redhat.com
Wed Aug 10 14:41:51 UTC 2016
On Wed, Aug 10, 2016 at 08:35:49AM +0200, Fabiano Fidêncio wrote:
> Pavel,
>
> On Tue, Aug 9, 2016 at 5:29 PM, Pavel Grunt <pgrunt at redhat.com> wrote:
> > On Tue, 2016-08-09 at 15:57 +0100, Daniel P. Berrange wrote:
> >> On Tue, Aug 09, 2016 at 04:40:02PM +0200, Pavel Grunt wrote:
> >> >
> >> > On Tue, 2016-08-09 at 15:12 +0100, Daniel P. Berrange wrote:
> >> > >
> >> > > On Tue, Aug 09, 2016 at 04:09:15PM +0200, Pavel Grunt wrote:
> >> > > >
> >> > > >
> >> > > > Due to recent changes in gtk+ the content of window is not rendered
> >> > > > properly in Windows 10 when the client side decorations are used.
> >> > > >
> >> > > > It is possible to disable the client side decorations using
> >> > > > the GTK_CSD="0" environment variable.
> >> > > >
> >> > > > Keep them disabled to avoid issues.
> >> > > >
> >> > > > Related:
> >> > > > https://bugzilla.redhat.com/show_bug.cgi?id=1352216
> >> > >
> >> > > Can you provide the actual GTK bug report for this issue.
> >> >
> >> > I am working on reproducer for the issue. Apparently only remote-viewer has
> >> > problems.
> >> > >
> >> > >
> >> > > >
> >> > > >
> >> > > > ---
> >> > > > I know it is not a solution. virt-viewer should learn to work properly
> >> > > > with
> >> > > > CSD
> >> > > > ---
> >> > > > src/virt-viewer-util.c | 2 ++
> >> > > > 1 file changed, 2 insertions(+)
> >> > > >
> >> > > > diff --git a/src/virt-viewer-util.c b/src/virt-viewer-util.c
> >> > > > index 0491f73..1b0335d 100644
> >> > > > --- a/src/virt-viewer-util.c
> >> > > > +++ b/src/virt-viewer-util.c
> >> > > > @@ -295,6 +295,8 @@ void virt_viewer_util_init(const char *appname)
> >> > > > }
> >> > > > }
> >> > > > #endif
> >> > > > + /* FIXME: avoid rendering issues with csd - used by default in
> >> > > > Win10*/
> >> > > > + g_setenv("GTK_CSD", "0", TRUE);
> >> > >
> >> > > At the version least you should make this hidden behind G_OS_WIN32,
> >> > > even better if you can make it only happen on Win10 at runtime.
> >> >
> >> > I wanted to keep it for every OS so it is harder to forget about fixing it.
> >>
> >> Nope that'll break virt-viewer when run under Wayland, since AFAIK, the
> >> Wayland compositors all request CSD
> >
> > GTK_CSD is ignored under Wayland/when cannot be used. But I can of course move
> > it up to the G_OS_WIN32 to make it more clear.
>
> I also prefer inside a G_OS_WIN32 ifdef.
> Another thing is that this solution is a temporary hack. So, I'd like
> to suggest to apply it only in the 4.0-maint branch.
It is bad practice to apply a fix only to a maint branch, as that opens
the possibility of forgetting to fix it in master, which means users
would see a regression on the next release. Fixes should always go into
master first, and then stable branches, even if we intend to do a better
fix in master at some point in the future.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the virt-tools-list
mailing list