Try to update geometry without checking if it's the same

Even if the frame geometry is the same, the client geometry may not be
the same. We need to call setFrameGeometry() unconditionally.
This commit is contained in:
Vlad Zahorodnii 2021-04-25 11:41:01 +03:00
parent b6dd7c5860
commit 90d60a530f

View file

@ -3357,9 +3357,7 @@ void AbstractClient::checkWorkspacePosition(QRect oldGeometry, int oldDesktop, Q
if (!oldClientGeometry.isValid())
oldClientGeometry = oldGeometry.adjusted(border[Left], border[Top], -border[Right], -border[Bottom]);
if (isFullScreen()) {
QRect area = workspace()->clientArea(FullScreenArea, fullscreenGeometryRestore().center(), desktop());
if (frameGeometry() != area)
setFrameGeometry(area);
setFrameGeometry(workspace()->clientArea(FullScreenArea, fullscreenGeometryRestore().center(), desktop()));
return;
}
@ -3554,8 +3552,7 @@ void AbstractClient::checkWorkspacePosition(QRect oldGeometry, int oldDesktop, Q
if (!isShade())
newGeom.setSize(constrainFrameSize(newGeom.size()));
if (newGeom != frameGeometry())
setFrameGeometry(newGeom);
setFrameGeometry(newGeom);
}
void AbstractClient::checkOffscreenPosition(QRect* geom, const QRect& screenArea)