From fc2d0c4f56eb90a5d689472082074c1b5688f569 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Mon, 21 Jan 2019 19:41:50 +0000 Subject: [PATCH] Handle ShutdowntypeDefault in KSMserver legacy code Summary: In the ksmserver porting most code was moved to explicitly calling logout or shutdown methods rather than a random enum. A legacy code path remained for compatibility. This path is used by the containmentactions, in the refactor handling of KWorkspace::ShutdownTypeDefault was lost. BUG: 403466 Fixed-in: 5.15.0 Test Plan: Set different default modes Logged out using containment actions Reviewers: #plasma, broulik Reviewed By: #plasma, broulik Subscribers: ngraham, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D18435 --- ksmserver/logout.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ksmserver/logout.cpp b/ksmserver/logout.cpp index 6971a6bfe..7fb316c36 100644 --- a/ksmserver/logout.cpp +++ b/ksmserver/logout.cpp @@ -134,11 +134,14 @@ void KSMServer::shutdown( KWorkSpace::ShutdownConfirm confirm, (confirm == KWorkSpace::ShutdownConfirmNo) ? true : !cg.readEntry( "confirmLogout", true ); + int shutdownType = (sdtype != KWorkSpace::ShutdownTypeDefault ? sdtype : + cg.readEntry("shutdownType", (int)KWorkSpace::ShutdownType::ShutdownTypeLogout)); + if (!logoutConfirmed) { OrgKdeLogoutPromptInterface logoutPrompt(QStringLiteral("org.kde.LogoutPrompt"), QStringLiteral("/LogoutPrompt"), QDBusConnection::sessionBus()); - switch (sdtype) { + switch (shutdownType) { case KWorkSpace::ShutdownTypeHalt: logoutPrompt.promptShutDown(); break; @@ -155,7 +158,7 @@ void KSMServer::shutdown( KWorkSpace::ShutdownConfirm confirm, OrgKdeShutdownInterface shutdownIface(QStringLiteral("org.kde.Shutdown"), QStringLiteral("/Shutdown"), QDBusConnection::sessionBus()); - switch (sdtype) { + switch (shutdownType) { case KWorkSpace::ShutdownTypeHalt: shutdownIface.logoutAndShutdown(); break;