File switchuser.patch of Package plasma5-workspace
diff --git a/libkworkspace/kdisplaymanager.cpp b/libkworkspace/kdisplaymanager.cpp
index 3bc3f11..a6d13d6 100644
--- a/libkworkspace/kdisplaymanager.cpp
+++ b/libkworkspace/kdisplaymanager.cpp
@@ -33,7 +33,7 @@
#include <QDBusConnectionInterface>
#include <QCoreApplication>
#include <QX11Info>
-
+#include <QDebug>
#include <X11/Xauth.h>
#include <X11/Xlib.h>
@@ -434,6 +434,7 @@
*currentSeat = QDBusObjectPath(_SYSTEMD_SEAT_BASE_PATH "/auto");
SystemdSeat seat(*currentSeat);
if (seat.property("Id").isValid()) { //query an arbitrary property to confirm the path is valid
+ qDebug() << "getCurrentSeat(), seat.property(\"Id\").isValid()";
return true;
}
@@ -614,13 +615,19 @@
bool
KDisplayManager::isSwitchable()
{
+ qDebug() << "Wolfi: KDisplayManager::isSwitchable(): DMType =" << DMType << "(LightDM=" << LightDM << ")";
if (DMType == NewGDM || DMType == LightDM) {
+ qDebug() << "entered NewGDM/LightDM codepath";
QDBusObjectPath currentSeat;
if (getCurrentSeat(nullptr, ¤tSeat)) {
+ qDebug() << "getCurrentSeat(nullptr, ¤tSeat) succeeded";
SystemdSeat SDseat(currentSeat);
if (SDseat.isValid()) {
+ qDebug() << "SDseat.isValid(), currentSeat =" << currentSeat;
QVariant prop = SDseat.property("CanMultiSession");
+ qDebug() << "SDseat.property(\"CanMultiSession\") =" << prop;
if (prop.isValid())
+ qDebug() << "prop.isValid(), prop.toBool =" << prop.toBool();
return prop.toBool();
}
CKSeat CKseat(currentSeat);
diff --git a/components/sessionsprivate/sessionsmodel.cpp b/components/sessionsprivate/sessionsmodel.cpp
--- a/components/sessionsprivate/sessionsmodel.cpp
+++ b/components/sessionsprivate/sessionsmodel.cpp
@@ -61,7 +61,8 @@
bool SessionsModel::canSwitchUser() const
{
- return const_cast<SessionsModel *>(this)->m_displayManager.isSwitchable() && KAuthorized::authorizeAction(QLatin1String("switch_user"));
+ qDebug() << "Wolfi: SessionsModel::canSwitchUser(): m_displayManager.isSwitchable() =" << const_cast<SessionsModel *>(this)->m_displayManager.isSwitchable() << ", KAuthorized::authorizeAction() =" << KAuthorized::authorizeAction(QLatin1String("switch_user"));
+ return const_cast<SessionsModel *>(this)->m_displayManager.isSwitchable() && KAuthorized::authorizeAction(QLatin1String("switch_user"));
}
bool SessionsModel::canStartNewSession() const