diff --git a/discover/main.cpp b/discover/main.cpp index 049fc0b6..bea5054b 100644 --- a/discover/main.cpp +++ b/discover/main.cpp @@ -19,6 +19,7 @@ #include "DiscoverVersion.h" #include #include +#include typedef QHash StringCompactMode; Q_GLOBAL_STATIC_WITH_ARGS(StringCompactMode, s_decodeCompactMode, (StringCompactMode { @@ -135,10 +136,16 @@ int main(int argc, char** argv) } QObject::connect(&app, &QCoreApplication::aboutToQuit, mainWindow, &DiscoverObject::deleteLater); QObject::connect(service, &KDBusService::activateRequested, mainWindow, [mainWindow](const QStringList &arguments, const QString &/*workingDirectory*/){ + + if (!mainWindow->rootObject()) QCoreApplication::instance()->quit(); mainWindow->rootObject()->raise(); + + auto window = qobject_cast(mainWindow->rootObject()); + KStartupInfo::setNewStartupId(window, KStartupInfo::startupId()); + if (arguments.isEmpty()) return; QScopedPointer parser(createParser());