Diffusion KWin bd52b6791e8b

Schedule a decoration repaint when client is resized

Authored by zzag on Jan 26 2020, 1:08 PM.

Description

Schedule a decoration repaint when client is resized

Summary:
If a client has been resized, it doesn't necessarily mean that the
decoration theme will schedule full repaint of the window frame. In
OpenGL and Xrender scene, we have a little hack that forces a full
repaint of window borders. However, we don't have one in QPainter
scene which causes all sorts of weird looking artifacts when resizing
a server-side decorated client.

We could add yet another hack in the QPainter scene, but a better
approach to tackle this problem would be to make DecoratedClient
schedule a full repaint of the decoration. It makes code in scene
plugins more straightforward and prevents us from repeating the same
mistake again.

Test Plan:
No longer able to see invisible decoration borders when
using QPainter render backend.

Reviewers: KWin, davidedmundson

Reviewed By: KWin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: KWin

Differential Revision: https://phabricator.kde.org/D26927

Details

Committed
zzagJan 28 2020, 4:42 PM
Reviewer
KWin
Differential Revision
D26927: Schedule a decoration repaint when client is resized
Parents
R108:827578577ff9: [decoration] Implement the size property
Branches
Unknown
Tags
Unknown