diff --git a/shell/main.cpp b/shell/main.cpp --- a/shell/main.cpp +++ b/shell/main.cpp @@ -120,7 +120,7 @@ ShellManager::s_fixedShell = cliOptions.value(shellPluginOption); - if (!cliOptions.isSet(noRespawnOption)) { + if (!cliOptions.isSet(noRespawnOption) && !cliOptions.isSet(testOption)) { KCrash::setFlags(KCrash::AutoRestart); } @@ -135,6 +135,8 @@ QDir(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation)).removeRecursively(); ShellManager::s_testModeLayout = layoutUrl.toLocalFile(); + qApp->setProperty("org.kde.KActivities.core.disableAutostart", true); + QObject::connect(ShellManager::instance(), &ShellManager::shellChanged, ShellManager::instance(), [layoutUrl]() { diff --git a/shell/shellcorona.cpp b/shell/shellcorona.cpp --- a/shell/shellcorona.cpp +++ b/shell/shellcorona.cpp @@ -316,9 +316,7 @@ connect(m_activityController, &KActivities::Controller::serviceStatusChanged, this, &ShellCorona::load, Qt::UniqueConnection); - if (m_activityController->serviceStatus() == KActivities::Controller::Running) { - load(); - } + load(); } @@ -640,7 +638,8 @@ void ShellCorona::load() { if (m_shell.isEmpty() || - m_activityController->serviceStatus() != KActivities::Controller::Running) { + (m_activityController->serviceStatus() != KActivities::Controller::Running && + !qApp->property("org.kde.KActivities.core.disableAutostart").toBool())) { return; }