ukui-session-manager/ukui-session-manager-3.1.0-kylin-fix-ukui-kwin-x11-coredump.patch
huayadong ef7b2f7280 fix-ukui-kwin-x11-coredump
(cherry picked from commit cf6ac3e44b230d0ff0b76815aeedf2f8e4681f42)
2023-07-21 17:13:42 +08:00

58 lines
1.9 KiB
Diff

diff -Naur ukui-session-manager-3.1.0/ukui-session/ukuismserver.cpp ukui-session-manager-3.1.0~/ukui-session/ukuismserver.cpp
--- ukui-session-manager-3.1.0/ukui-session/ukuismserver.cpp 2022-04-20 17:40:57.000000000 +0800
+++ ukui-session-manager-3.1.0~/ukui-session/ukuismserver.cpp 2023-07-09 13:49:42.930414204 +0800
@@ -1065,22 +1065,28 @@
void UKUISMServer::completeKilling()
{
+// if (m_state == Killing) {
+// //这一段的含义是只要客户端列表中还有非窗管的客户端存在,则等待,直到客户端中只有一个窗管,则开始杀死窗管
+// bool wait = false;
+// foreach (UKUISMClient *c, m_clients) {
+// if (isWM(c)) {
+// continue;
+// }
+// wait = true;
+// }
+
+// if (wait) {
+// return;
+// }
+
+// // killWM();
+// //修改为不杀死窗管,直接结束会话
+// killingCompleted();
+// }
+// dy use default kde method
if (m_state == Killing) {
- //这一段的含义是只要客户端列表中还有非窗管的客户端存在,则等待,直到客户端中只有一个窗管,则开始杀死窗管
- bool wait = false;
- foreach (UKUISMClient *c, m_clients) {
- if (isWM(c)) {
- continue;
- }
- wait = true;
- }
-
- if (wait) {
+ if (!m_clients.isEmpty()) // still waiting for clients to go away
return;
- }
-
-// killWM();
- //修改为不杀死窗管,直接结束会话
killingCompleted();
}
}
@@ -1145,7 +1151,9 @@
void UKUISMServer::killingCompleted()
{
emit logoutFinished();
-// qApp->quit();
+ //dy use default kde method
+ qApp->quit();
+ return;
//目前不清楚如果不做清理会有什么影响,看日志没有发现问题,使用上也没有区别,但为了保险还是加上
cleanUp();