From b372de8c746fb717829d6082ea1ced1d973245cd Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Thu, 22 Apr 2021 17:28:53 +0200 Subject: [PATCH] Fix startup when running with ASAN We can't call kwinApp() before KWin::Application hasn't been properly initialized. --- src/plugins/qpa/integration.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/plugins/qpa/integration.cpp b/src/plugins/qpa/integration.cpp index c0f2d760af..8c14b2b0c4 100644 --- a/src/plugins/qpa/integration.cpp +++ b/src/plugins/qpa/integration.cpp @@ -76,8 +76,15 @@ bool Integration::hasCapability(Capability cap) const void Integration::initialize() { - // The QPA is initialized before the platform plugin is loaded. - connect(kwinApp(), &Application::platformCreated, this, &Integration::handlePlatformCreated); + // This method is called from QGuiApplication's constructor, before kwinApp is built + QTimer::singleShot(0, this, [this] { + // The QPA is initialized before the platform plugin is loaded. + if (kwinApp()->platform()) { + handlePlatformCreated(); + } else { + connect(kwinApp(), &Application::platformCreated, this, &Integration::handlePlatformCreated); + } + }); QPlatformIntegration::initialize();