diff -ur libkworkspace_orig/CMakeLists.txt libkworkspace/CMakeLists.txt --- libkworkspace_orig/CMakeLists.txt 2021-10-29 17:13:19.549710332 +0200 +++ libkworkspace/CMakeLists.txt 2021-10-29 17:13:36.539658992 +0200 @@ -60,6 +60,11 @@ autostartscriptdesktopfile.cpp ) +ecm_qt_declare_logging_category(kworkspace_LIB_SRCS HEADER debug.h + IDENTIFIER LIBKWORKSPACE + CATEGORY_NAME kde.libkworkspace + DEFAULT_SEVERITY Debug) + add_definitions(-DTRANSLATION_DOMAIN=\"libkworkspace\") qt5_add_dbus_interface(kworkspace_LIB_SRCS ${KINIT_DBUS_INTERFACES_DIR}/kf5_org.kde.KLauncher.xml klauncher_interface) Only in libkworkspace: CMakeLists.txt.orig Only in libkworkspace: CMakeLists.txt.rej diff -ur libkworkspace_orig/login1_manager_interface.cpp libkworkspace/login1_manager_interface.cpp --- libkworkspace_orig/login1_manager_interface.cpp 2021-08-31 13:52:18.000000000 +0200 +++ libkworkspace/login1_manager_interface.cpp 2021-10-29 17:13:36.539658992 +0200 @@ -22,6 +22,8 @@ #include "login1_manager_interface.h" #include "sessionmanagementbackend.h" +#include "debug.h" + enum LogindProvider { Unknown, None, @@ -57,6 +59,7 @@ connection, parent) { + qCDebug(LIBKWORKSPACE) << "OrgFreedesktopLogin1ManagerInterface LogindMode: " << getLogindMode(); } OrgFreedesktopLogin1ManagerInterface::~OrgFreedesktopLogin1ManagerInterface() diff -ur libkworkspace_orig/sessionmanagementbackend.cpp libkworkspace/sessionmanagementbackend.cpp --- libkworkspace_orig/sessionmanagementbackend.cpp 2021-08-31 13:52:18.000000000 +0200 +++ libkworkspace/sessionmanagementbackend.cpp 2021-10-29 17:13:36.539658992 +0200 @@ -34,6 +34,8 @@ #include "login1_manager_interface.h" #include "upower_interface.h" +#include "debug.h" + static SessionBackend *s_backend = nullptr; SessionBackend *SessionBackend::self() @@ -41,14 +43,18 @@ static QMutex mutex; QMutexLocker lock(&mutex); if (s_backend) { + qCDebug(LIBKWORKSPACE) << "*SessionBackend::self() returning existing singleton"; return s_backend; } if (LogindSessionBackend::exists()) { + qCInfo(LIBKWORKSPACE) << "*SessionBackend::self() creating LogindSessionBackend"; s_backend = new LogindSessionBackend(); } else if (ConsoleKitSessionBackend::exists()) { + qCInfo(LIBKWORKSPACE) << "*SessionBackend::self() creating ConsoleKitSessionBackend"; s_backend = new ConsoleKitSessionBackend(); } else { + qCInfo(LIBKWORKSPACE) << "*SessionBackend::self() creating DummySessionBackend"; s_backend = new DummySessionBackend(); } @@ -79,6 +85,8 @@ LogindSessionBackend::LogindSessionBackend() { + qCDebug(LIBKWORKSPACE) << "LogindSessionBackend()"; + m_login1 = new OrgFreedesktopLogin1ManagerInterface(QStringLiteral("org.freedesktop.login1"), QStringLiteral("/org/freedesktop/login1"), QDBusConnection::systemBus(), @@ -160,7 +168,9 @@ void LogindSessionBackend::suspend() { + qCDebug(LIBKWORKSPACE) << "LogindSessionBackend::suspend() before m_login1->Suspend(true)"; m_login1->Suspend(true); + qCDebug(LIBKWORKSPACE) << "LogindSessionBackend::suspend() after m_login1->Suspend(true)"; } void LogindSessionBackend::hybridSuspend() @@ -250,7 +260,9 @@ void ConsoleKitSessionBackend::suspend() { + qCDebug(LIBKWORKSPACE) << "ConsoleKitSessionBackend::suspend() before m_upower->Suspend()"; m_upower->Suspend(); + qCDebug(LIBKWORKSPACE) << "ConsoleKitSessionBackend::suspend() after m_upower->Suspend()"; } void ConsoleKitSessionBackend::hibernate() diff -ur libkworkspace_orig/sessionmanagement.cpp libkworkspace/sessionmanagement.cpp --- libkworkspace_orig/sessionmanagement.cpp 2021-08-31 13:52:18.000000000 +0200 +++ libkworkspace/sessionmanagement.cpp 2021-10-29 17:13:36.539658992 +0200 @@ -31,6 +31,8 @@ #include "screenlocker_interface.h" #include "shutdown_interface.h" +#include "debug.h" + // add a constructor with the service names and paths pre-populated class LogoutPromptIface : public OrgKdeLogoutPromptInterface { @@ -175,9 +177,12 @@ void SessionManagement::suspend() { + qCDebug(LIBKWORKSPACE) << "SessionManagement::suspend()"; if (!canSuspend()) { + qCDebug(LIBKWORKSPACE) << "can't suspend"; return; } + qCDebug(LIBKWORKSPACE) << "suspending..."; SessionBackend::self()->suspend(); }