Avoid again invalid geometry of internal clients

Summary:
This adds again the workaround from 1fb2eace3f, which got temporarily
removed by 9b922f8833.

BUG: 386304

Test Plan: Manually

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D21601
This commit is contained in:
Roman Gilg 2019-06-05 15:35:31 +02:00
parent 1b8e5061ab
commit 7c7fb758ad

View file

@ -1211,7 +1211,12 @@ void ShellClient::installPlasmaShellSurface(PlasmaShellSurfaceInterface *surface
m_plasmaShellSurface = surface;
auto updatePosition = [this, surface] {
QRect rect = QRect(surface->position(), m_clientSize + QSize(borderLeft() + borderRight(), borderTop() + borderBottom()));
doSetGeometry(rect);
// Shell surfaces of internal windows are sometimes desync to current value.
// Make sure to not set window geometry of internal windows to invalid values (bug 386304).
// This is a workaround.
if (!m_internal || rect.isValid()) {
doSetGeometry(rect);
}
};
auto updateRole = [this, surface] {
NET::WindowType type = NET::Unknown;