Make geometry updates blocker pass last move resize geometry

X11Client tolerates passing shaded geometry to moveResize() and in many
cases kwin already does that.

Another issue is that this doesn't align well with new async geometry
handling abstractions. pos() can't be used because it corresponds to the
current frame position.

We can safely pass the last move resize geometry. It simplifies code a
bit and makes sure that everything works as expected with the move
resize geometry.
This commit is contained in:
Vlad Zahorodnii 2021-10-15 08:56:11 +03:00
parent b90975b7a2
commit 368bbde1ff

View file

@ -905,10 +905,7 @@ void AbstractClient::blockGeometryUpdates(bool block)
} else {
if (--m_blockGeometryUpdates == 0) {
if (m_pendingMoveResizeMode != MoveResizeMode::None) {
if (isShade())
moveResizeInternal(QRect(pos(), implicitSize()), m_pendingMoveResizeMode);
else
moveResizeInternal(moveResizeGeometry(), m_pendingMoveResizeMode);
moveResizeInternal(moveResizeGeometry(), m_pendingMoveResizeMode);
m_pendingMoveResizeMode = MoveResizeMode::None;
}
}