D26927: Repaint decoration borders when client is resized
Vlad Zahorodnii <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
zzag created this revision. zzag added a reviewer: KWin. Herald added a project: KWin. Herald added a subscriber: kwin. zzag requested review of this revision. REVISION 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 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. REPOSITORY R108 KWin BRANCH repaint-full-decoration REVISION DETAIL https://phabricator.kde.org/D26927 AFFECTED FILES decorations/decoratedclient.cpp plugins/scenes/opengl/scene_opengl.cpp plugins/scenes/xrender/scene_xrender.cpp To: zzag, #kwin Cc: kwin, Orage, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart