[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Review Request: DamageNotify handling
From:       Thomas =?UTF-8?B?TMO8Ymtpbmc=?= <thomas.luebking () gmail ! com>
Date:       2011-07-10 15:38:10
Message-ID: 20110710173810.22e3c5fa () gmail ! com
[Download RAW message or body]

Am Sun, 10 Jul 2011 13:41:20 +0200
schrieb Martin Gräßlin <mgraesslin@kde.org>:

> On Sunday 10 July 2011 13:37:35 you wrote:
> > Am Sun, 10 Jul 2011 08:52:54 -0000
> > schrieb Martin Gräßlin <kde@martin-graesslin.com>:
> > 
> > 
> > > Could it be that this change is causing the screen to be black
> > > when starting kwin till you have the first repaint? It's just
> > > that I see this behavior since I recompiled today.
> > 
> > damageRatio isn't initialized, so yes "could" (if it was implicitly
> > 1.0" or maybe is hanging over between suspend/resume)
> > 
> > Please try the attached patch (just adds initialisation & copies
> > damageRatio to deleted windows)
> no, it doesn't work :-( Still a black screen after restarting with
> the patch applied

Not here, not even w/ blur enabled....

- I assume you've bisected the commit? ;-)
- Do you test on vanilla master?
- Does it happen with the XRender backend?
- Does the very first repaint clear the entire screen or only the
  repainted area?

The only thing i could imagine is a different behaviour on the XEvent
stack.
Try to move 
   if (damageRatio == 1.0)
      return;
below the while loop in ::damageNotify (but that wouldn't explain why
the first repaint unblacks, nor does it match XEvent specs...

Last thing (buit unrelated to the patch) would be to addDamageFull()
in TopLevel::setupCompositing() instead of assigning the damage rect
(latter "lacks" the signal, iff that is the problem here)

Thomas
_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic