X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/b99f6f50eef395a3ceb88fb3d4b7357cbbc13c85..dec80fb0f940ff4e71032c2d3544f0d60a05c4ce:/src/global.cpp diff --git a/src/global.cpp b/src/global.cpp index 8babbbddc..c68b2d2d0 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -16,7 +16,7 @@ #include #include #include -#ifdef HAVE_KACTIVITIES +#if HAVE_KACTIVITIES #include #endif @@ -143,11 +143,13 @@ bool Dolphin::attachToExistingInstance(const QList &inputUrls, QVector, QStringList>> Dolphin::dolphinGuiInstances(const QString &preferredService) { -#ifdef HAVE_KACTIVITIES +#if HAVE_KACTIVITIES static std::once_flag one_consumer; static KActivities::Consumer *consumer; std::call_once(one_consumer, []() { consumer = new KActivities::Consumer(); + // to prevent QGuiApplication::saveStateRequest + const QSignalBlocker blocker(qApp); // ensures the consumer is ready for query QEventLoop loop; QObject::connect(consumer, &KActivities::Consumer::serviceStatusChanged, &loop, &QEventLoop::quit); @@ -161,7 +163,7 @@ QVector, QStringList>> Do QSharedPointer interface( new OrgKdeDolphinMainWindowInterface(service, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); if (interface->isValid() && !interface->lastError().isValid()) { -#ifdef HAVE_KACTIVITIES +#if HAVE_KACTIVITIES const auto currentActivity = consumer->currentActivity(); if (currentActivity.isEmpty() || currentActivity == QStringLiteral("00000000-0000-0000-0000-000000000000") || interface->isOnActivity(consumer->currentActivity()))