35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
From d7c1181a5736bc5c6b2585fb0df9065510efcd7c Mon Sep 17 00:00:00 2001
|
|
From: Yaroslav Sidlovsky <zawertun@gmail.com>
|
|
Date: Wed, 5 May 2021 14:32:32 +0300
|
|
Subject: [PATCH] GetSessionByPID DBUS call always fails on newer systemd
|
|
versions
|
|
|
|
GetSessionByPID returns this error:
|
|
```
|
|
Error org.freedesktop.login1.NoSessionForPID: PID 2469 does not belong to any known session
|
|
```
|
|
So instead we will get session by calling GetSession("auto").
|
|
Tested on Fedora, should also work on openSUSE & KDE Neon.
|
|
|
|
BUG: 433408
|
|
---
|
|
daemon/powerdevilpolicyagent.cpp | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/daemon/powerdevilpolicyagent.cpp b/daemon/powerdevilpolicyagent.cpp
|
|
index 653d1eef..d3993d78 100644
|
|
--- a/daemon/powerdevilpolicyagent.cpp
|
|
+++ b/daemon/powerdevilpolicyagent.cpp
|
|
@@ -236,7 +236,7 @@ void PolicyAgent::onSessionHandlerRegistered(const QString & serviceName)
|
|
return;
|
|
}
|
|
|
|
- QDBusPendingReply<QDBusObjectPath> session = m_managerIface.data()->asyncCall(QLatin1String("GetSessionByPID"), (quint32) QCoreApplication::applicationPid());
|
|
+ QDBusPendingReply<QDBusObjectPath> session = m_managerIface.data()->asyncCall(QLatin1String("GetSession"), QLatin1String("auto"));
|
|
session.waitForFinished();
|
|
|
|
if (!session.isValid()) {
|
|
--
|
|
GitLab
|
|
|