Bug 198986

Summary: bad font rendering after 'switch behind' effect
Product: [Plasma] kwin Reporter: Fabian B. <apfelmausmail>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: mzanetti
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: image to visualize the bug ^^
Patch that adds a repaint after unmanaging windows.

Description Fabian B. 2009-07-05 09:19:13 UTC
Version:           4.2.95 (using Devel)
OS:                Linux
Installed from:    Compiled sources

After i use the kwin Effect switch behind, the text in the Windows 'behind' looks very bad and i have to move the mouse over
Comment 1 Fabian B. 2009-07-05 09:22:36 UTC
Created attachment 35056 [details]
image to visualize the bug ^^
Comment 2 Martin Flöser 2009-07-12 14:54:37 UTC
hmm such effects are completely unrelated to the way applications render the text. Can you reproduce the behaviour without the effect?
Comment 3 lucas 2009-07-12 17:03:30 UTC
(In reply to comment #2)

It looks like there is a very slight (Less than a single pixel) offset on the window after the animation has occurred. Could be a rounding error somewhere and the animation never completes.
Comment 4 Martin Flöser 2009-07-17 22:25:50 UTC
@Michael: could comment #3 be possible?
Comment 5 Fabian B. 2009-07-18 00:56:10 UTC
without this effect the text is allways sharp
Comment 6 Michael Zanetti 2009-07-18 13:28:47 UTC
(In reply to comment #4)

As the font renders correctly after moving the mouse over it I don't think that the animation never completes. I've also re-checked the code. It is aware of those rounding errors and should handle that correctly.

I'd rather guess the last paint cycle is missing in some cases.

Does this happen every time the effect is triggered or just in some cases?
Comment 7 Fabian B. 2009-07-18 17:10:04 UTC
(In reply to comment #6)
> (In reply to comment #4)
> 
> As the font renders correctly after moving the mouse over it I don't think that
> the animation never completes. I've also re-checked the code. It is aware of
> those rounding errors and should handle that correctly.
> 
> I'd rather guess the last paint cycle is missing in some cases.
> 
> Does this happen every time the effect is triggered or just in some cases?

everytime here
Comment 8 Michael Zanetti 2009-07-22 09:11:16 UTC
Created attachment 35530 [details]
Patch that adds a repaint after unmanaging windows.

Could someone affected by this bug please try this patch against kdebase/workspace/kwin/effects/slideback/ and tell me if it fixes the problem?

Thanks.
Comment 9 Fabian B. 2009-07-22 17:33:27 UTC
(In reply to comment #8)

I dont know how to compile only the effect, can you post a little howto for me?
Comment 10 Michael Zanetti 2009-07-22 20:16:14 UTC
> I dont know how to compile only the effect, can you post a little howto for me?

The quick and dirty way for re-building kwin effects:
- Checkout whole kdebase-workspace
- apply the patch
- create a build dir
- cmake whole kdebase-workspace
- cd kwin/effects/ (in build-dir)
- make
- copy build/lib/kwin4_effects_builtins.so to `kde4-config --prefix`/lib/kde4/

After copying kwin may crash and should reload itself with the new effects library. If not, just restart kwin.
Comment 11 Fabian B. 2009-07-23 02:50:24 UTC
OK Tested an works 100% :D
but now i noticed an the same Problem in other effects
If i resize or move a Window with wobly window enable :(

should i open another bugreport?
Comment 12 Michael Zanetti 2009-07-23 11:15:55 UTC
OK... I'll commit and backport this patch. Thanks for reporting and testing!

All effects showing this behaviour should get their own bugreport, yes.
Comment 13 lucas 2009-07-23 16:40:14 UTC
Patch has not been committed to trunk yet therefore not FIXED.
Comment 14 Michael Zanetti 2009-07-24 11:03:12 UTC
SVN commit 1001777 by mzanetti:

Add a full repaint after the animation

BUG: 198986


 M  +1 -0      slideback.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1001777