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, &currentSeat)) {
+            qDebug() << "getCurrentSeat(nullptr, &currentSeat) 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
openSUSE Build Service is sponsored by