Commit 2f506cd3 authored by Vlad Zahorodnii's avatar Vlad Zahorodnii

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
parent 78c0095a
......@@ -1341,8 +1341,6 @@ void AbstractClient::performMoveResize()
setFrameGeometry(moveResizeGeom);
}
doPerformMoveResize();
if (isResize())
addRepaintFull();
positionGeometryTip();
emit clientStepUserMovedResized(this, moveResizeGeom);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment