From baabd20ef65871e8ba10a94b3638363f9e2f24f3 Mon Sep 17 00:00:00 2001 From: Vlad Zagorodniy Date: Mon, 1 Jul 2019 22:20:18 +0300 Subject: [PATCH] Drop QOffscreenSurface guard Summary: Given that our QPA now creates native offscreen surfaces, we no longer need the QOffscreenSurface guard introduced by 61956025f. Reviewers: #kwin, romangg Reviewed By: #kwin, romangg Subscribers: romangg, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D22198 --- internal_client.cpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/internal_client.cpp b/internal_client.cpp index bec8b6e5dd..2b3ea8b57d 100644 --- a/internal_client.cpp +++ b/internal_client.cpp @@ -37,19 +37,7 @@ InternalClient::InternalClient(KWayland::Server::ShellSurfaceInterface *surface) { findInternalWindow(); updateInternalWindowGeometry(); - - // Qt asks our QPA to create a platform window for each QOffscreenSurface. - // Given that those windows aren't toplevels, findInternalWindow may not be - // able to find corresponding QWindow object for this client, which means - // no-border and pretty much every other property that depends on QWindow - // flags will have undefined value. Unfortunately the Aurorae decoration - // engine creates three internal clients per each decoration. One of those - // clients represents QOffscreenSurface. Thus we have to ensure that the - // QOffscreenSurface client is not decorated, otherwise kwin will fall - // into an infinite "recursion." - if (m_internalWindow) { - updateDecoration(true); - } + updateDecoration(true); } InternalClient::InternalClient(KWayland::Server::XdgShellSurfaceInterface *surface) @@ -94,6 +82,8 @@ void InternalClient::findInternalWindow() m_internalWindow->installEventFilter(this); return; } + + qCWarning(KWIN_CORE, "Couldn't find an internal window for surface with id %x", surface()->id()); } bool InternalClient::eventFilter(QObject *watched, QEvent *event)