Summary: | org.kde.KWin is not unregistered properly on logout | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | ivz hh <shngmao> |
Component: | platform-x11-standalone | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kde, kitt997, nate |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/commit/aea488be1e0d407c7c98a6166c1cbd37cd25f6f0 | Version Fixed In: |
Description
ivz hh
2020-11-08 03:59:48 UTC
```diff diff -ruN plasma-workspace-5.19.5-vanilla/startkde/startplasma.cpp plasma-workspace-5.19.5/startkde/startplasma.cpp --- plasma-workspace-5.19.5-vanilla/startkde/startplasma.cpp 2020-11-04 19:22:27.959634893 -0700 +++ plasma-workspace-5.19.5/startkde/startplasma.cpp 2020-11-06 15:05:53.189956319 -0700 @@ -406,6 +406,7 @@ // This also closes if ksmserver crashes unexpectedly, as in those cases plasma-shutdown is not running serviceWatcher.addWatchedService(QStringLiteral("org.kde.ksmserver")); serviceWatcher.addWatchedService(QStringLiteral("org.kde.Shutdown")); + serviceWatcher.addWatchedService(QStringLiteral("org.kde.KWin")); serviceWatcher.setWatchMode(QDBusServiceWatcher::WatchForUnregistration); QObject::connect(&startPlasmaSession, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), [&rc, &e](int exitCode, QProcess::ExitStatus) { ``` A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/454 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/448 That patch in #1 makes sense, but we would still need to trigger kwin to close somehow. I made a version above. It means patching kwin and workspace, but effectively it's the same idea as yours just a bit more explicit. Git commit 71ce1f7a5b6c770e2ef7e3b1a0f2b76853c4124a by David Edmundson. Committed on 22/11/2020 at 22:04. Pushed by davidedmundson into branch 'master'. Add an explicit quit mechanism controlled by plasma On X Kwin's lifespan used to be managed by XSMP. This accidentally broke in 5.20 as we made kwin start before ksmserver for speed purposes. This leaves kwin to be killed by the display manager as the X connection closes, but this can lead to deadlocks. Related: bug 427688 On wayland kwin's lifespan is mapped to the lifespan of the ksmserver binary. This is problematic as it makes our entire xwayland robustness redundant if we ultimately rely on an application that /has/ to run in xwayland. M +3 -0 org.kde.KWin.Session.xml M +5 -0 sm.cpp M +1 -0 sm.h https://invent.kde.org/plasma/kwin/commit/71ce1f7a5b6c770e2ef7e3b1a0f2b76853c4124a Git commit aea488be1e0d407c7c98a6166c1cbd37cd25f6f0 by David Edmundson. Committed on 24/11/2020 at 18:58. Pushed by davidedmundson into branch 'master'. Add an explicit method to close kwin On X Kwin's lifespan used to be managed by XSMP. This accidentally broke in 5.20 as we made kwin start before ksmserver for speed purposes and wayland preparation. This leaves kwin to be killed by the display manager as the X connection closes, but this can lead to deadlocks. On wayland kwin's lifespan is mapped to the lifespan of the ksmserver binary. This is problematic as it makes our entire xwayland robustness redundant if we ultimately rely on an application that /has/ to run in xwayland. M +3 -0 ksmserver/org.kde.KWin.Session.xml M +1 -0 startkde/plasma-shutdown/CMakeLists.txt M +7 -0 startkde/plasma-shutdown/shutdown.cpp https://invent.kde.org/plasma/plasma-workspace/commit/aea488be1e0d407c7c98a6166c1cbd37cd25f6f0 *** Bug 432793 has been marked as a duplicate of this bug. *** |