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. 6
      startkde/startplasma.cpp
  4. 2
      startkde/startplasma.h

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

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

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

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

Loading…
Cancel
Save