diff --git a/src/backendlauncher/main.cpp b/src/backendlauncher/main.cpp --- a/src/backendlauncher/main.cpp +++ b/src/backendlauncher/main.cpp @@ -19,6 +19,7 @@ #include #include +#include #include "kscreen_backendLauncher_debug.h" #include "backendloader.h" @@ -30,6 +31,12 @@ QGuiApplication::setDesktopSettingsAware(false); QGuiApplication app(argc, argv); + auto disableSessionManagement = [](QSessionManager &sm) { + sm.setRestartHint(QSessionManager::RestartNever); + }; + QObject::connect(&app, &QGuiApplication::commitDataRequest, disableSessionManagement); + QObject::connect(&app, &QGuiApplication::saveStateRequest, disableSessionManagement); + if (!QDBusConnection::sessionBus().registerService(QStringLiteral("org.kde.KScreen"))) { qCWarning(KSCREEN_BACKEND_LAUNCHER) << "Cannot register org.kde.KScreen service. Another launcher already running?"; return -1;