diff --git a/src/platformtheme/kwaylandintegration.h b/src/platformtheme/kwaylandintegration.h --- a/src/platformtheme/kwaylandintegration.h +++ b/src/platformtheme/kwaylandintegration.h @@ -26,6 +26,7 @@ { namespace Client { +class ConnectionThread; class ServerSideDecorationManager; } } @@ -42,6 +43,7 @@ private: KWayland::Client::ServerSideDecorationManager *m_decoration; + KWayland::Client::ConnectionThread *m_connection; }; #endif diff --git a/src/platformtheme/kwaylandintegration.cpp b/src/platformtheme/kwaylandintegration.cpp --- a/src/platformtheme/kwaylandintegration.cpp +++ b/src/platformtheme/kwaylandintegration.cpp @@ -32,6 +32,7 @@ KWaylandIntegration::KWaylandIntegration() : QObject() , m_decoration(Q_NULLPTR) + , m_connection(Q_NULLPTR) { } @@ -43,6 +44,7 @@ if (!connection) { return; } + m_connection = connection; Registry *registry = new Registry(this); registry->create(connection); QObject::connect(registry, &Registry::interfacesAnnounced, this, @@ -88,6 +90,7 @@ } ); w->setProperty("org.kde.plasma.integration.waylandserverdecoration", QVariant::fromValue(deco)); + m_connection->roundtrip(); break; } case QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed: {