Don't start ksmserver with lockscreen integration on wayland

Summary:
Fixes regression from the startkde C++ re-write which made ksmserver
start the kscreenlocker in wayland session, resulting in the double
lockscreeens.

Test Plan: after applying patch I only get one lockscreen

Reviewers: apol

Reviewed By: apol

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D22021
wilder-5.17
Bhushan Shah 7 years ago
parent 1cc0b27fb8
commit 3daa7bd2c5
  1. 2
      startkde/startplasma-waylandsession.cpp
  2. 2
      startkde/startplasma-x11.cpp
  3. 10
      startkde/startplasma.cpp
  4. 2
      startkde/startplasma.h

@ -59,7 +59,7 @@ int main(int /*argc*/, char** /*argv*/)
if (!startKDEInit())
return 3;
if (!startKSMServer())
if (!startKSMServer(true))
return 4;
// Anything after here is logout

@ -100,7 +100,7 @@ int main(int /*argc*/, char** /*argv*/)
if (!startKDEInit())
return 1;
if (!startKSMServer())
if (!startKSMServer(false))
return 1;
// Anything after here is logout

@ -338,7 +338,7 @@ bool startKDEInit()
return true;
}
bool startKSMServer()
bool startKSMServer(bool wayland)
{
// finally, give the session control to the session manager
// see kdebase/ksmserver for the description of the rest of the startup sequence
@ -355,8 +355,12 @@ bool startKSMServer()
QStringList ksmserverOptions = { QStringLiteral(CMAKE_INSTALL_FULL_BINDIR "/ksmserver") };
if (desktopLockedAtStart) {
ksmserverOptions << QStringLiteral("--lockscreen");
if (wayland) {
ksmserverOptions << QStringLiteral("--no-lockscreen");
} else {
if (desktopLockedAtStart) {
ksmserverOptions << QStringLiteral("--lockscreen");
}
}
const auto exitCode = runSync(QStringLiteral("kwrapper5"), ksmserverOptions);

@ -45,7 +45,7 @@ void setupGSLib();
void setupX11();
bool startKDEInit();
bool startKSMServer();
bool startKSMServer(bool wayland);
void waitForKonqi();

Loading…
Cancel
Save