kwin/decorations
Vlad Zahorodnii bd52b6791e 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
2020-01-28 18:42:17 +02:00
..
decoratedclient.cpp [decoration] Implement the size property 2020-01-28 18:42:17 +02:00
decoratedclient.h [decoration] Implement the size property 2020-01-28 18:42:17 +02:00
decorationbridge.cpp [decorations] Let KDecoration plugins recommend a border size per default 2019-06-06 22:24:45 +02:00
decorationbridge.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00
decorationpalette.cpp Merge branch 'Plasma/5.16' 2019-07-10 11:05:50 +02:00
decorationpalette.h Adapt to KDecoration API changes 2015-03-31 15:26:55 +02:00
decorationrenderer.cpp Schedule a decoration repaint when client is resized 2020-01-28 18:42:17 +02:00
decorationrenderer.h [scene] Fix decoration texture bleeding 2020-01-09 15:13:07 +02:00
decorations_logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
decorations_logging.h [decorations] Introduce logging category for decorations 2015-07-31 13:13:46 +02:00
settings.cpp [decorations] Let KDecoration plugins recommend a border size per default 2019-06-06 22:24:45 +02:00
settings.h Run clang-tidy with modernize-use-override check 2019-07-22 20:03:22 +03:00