From 2f506cd3c10890b2f342f06c8abe994b7d09f7dd Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Wed, 5 Feb 2020 13:15:03 +0200 Subject: [PATCH] Put the resize effect in charge of scheduling repaints Summary: If the frame geometry is changed in any away, for example if the client has been moved, resized, or both, setFrameGeometry() will schedule a layer repaint for the visible geometry before and after the update. When there is a resize effect, we only send requests to the client window to render contents at the new size. setFrameGeometry() is not called and therefore no layer repaints are scheduled. Only the resize effect knows what parts of the window or the screen must be repainted and thus it must be responsible for scheduling repaints. A full repaint in AbstractClient::performMoveResize() is scheduled mostly for historical reasons. Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: davidedmundson, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D27167 --- abstract_client.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/abstract_client.cpp b/abstract_client.cpp index e97a3251cf..5800f89654 100644 --- a/abstract_client.cpp +++ b/abstract_client.cpp @@ -1341,8 +1341,6 @@ void AbstractClient::performMoveResize() setFrameGeometry(moveResizeGeom); } doPerformMoveResize(); - if (isResize()) - addRepaintFull(); positionGeometryTip(); emit clientStepUserMovedResized(this, moveResizeGeom); }