diff --git a/internal_client.cpp b/internal_client.cpp --- a/internal_client.cpp +++ b/internal_client.cpp @@ -37,19 +37,7 @@ { 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 @@ 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)