[effects/wobblywindows] Fix visual artifacts caused by maximize effect
ClosedPublic

Authored by zzag on Oct 5 2018, 9:30 AM.

Details

Summary

If one wants to drag a maximized window while he or she has enabled both
the Wobbly Windows and the Maximize effect, visual artifacts can be
shown.

When the Maximize effect animates transition from maximize to restore,
some parts of the window can overshoot repaint regions(because of
wobbliness), leaving us with the visual artifacts.

To fix that, we have to take into account current scale and translation
when calculating dirty region in the Wobbly Windows effect.

BUG: 370612
FIXED-IN: 5.14.1

Test Plan

When dragging maximized windows, there are no visual artifacts anymore.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
zzag created this revision.Oct 5 2018, 9:30 AM
Restricted Application added a project: KWin. · View Herald TranscriptOct 5 2018, 9:30 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript
zzag requested review of this revision.Oct 5 2018, 9:30 AM
zzag added a comment.Oct 5 2018, 9:31 AM

I don't have multiple monitor setup, but I'm pretty sure that there won't be any issues.

zzag edited the summary of this revision. (Show Details)Oct 5 2018, 9:33 AM
zzag retitled this revision from [effects/wobblywindows] Fix visual artifacts when dragging maximized windows to [effects/wobblywindows] Fix visual artifacts caused by maximize effect.Oct 5 2018, 9:38 AM
abetts added a subscriber: abetts.Oct 5 2018, 2:00 PM

Before and after?

zzag added a comment.Oct 6 2018, 11:25 AM

@abetts

Before:

After:

abetts added a comment.Oct 6 2018, 6:24 PM

+1 from the VDG

davidedmundson accepted this revision.Oct 9 2018, 10:50 AM
This revision is now accepted and ready to land.Oct 9 2018, 10:50 AM
zzag edited the summary of this revision. (Show Details)Oct 9 2018, 11:00 AM
This revision was automatically updated to reflect the committed changes.