diff --git a/src/gui/platform/unix/qgenericunixservices.cpp b/src/gui/platform/unix/qgenericunixservices.cpp index 88968413563..3a289cda452 100644 --- a/src/gui/platform/unix/qgenericunixservices.cpp +++ b/src/gui/platform/unix/qgenericunixservices.cpp @@ -421,6 +421,7 @@ void runWithXdgActivationToken(F &&functionToCall) QWindow *window = qGuiApp->focusWindow(); if (!window) { + functionToCall({}); return; } @@ -430,13 +431,14 @@ void runWithXdgActivationToken(F &&functionToCall) dynamic_cast(window->handle()); if (!waylandWindow || !waylandApp) { + functionToCall({}); return; } - waylandWindow->requestXdgActivationToken(waylandApp->lastInputSerial()); QObject::connect(waylandWindow, &QNativeInterface::Private::QWaylandWindow::xdgActivationTokenCreated, waylandWindow, functionToCall, Qt::SingleShotConnection); + waylandWindow->requestXdgActivationToken(waylandApp->lastInputSerial()); } bool QGenericUnixServices::openUrl(const QUrl &url)