Projects
Eulaceura:Mainline
kiran-session-manager
_service:obs_scm:0001-fix-xsmp-Ignore-the-cance...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:0001-fix-xsmp-Ignore-the-cancel-shutdown-request.patch of Package kiran-session-manager
From 9c06f60de67e54bd835e66d1b1adca9e370f0b2b Mon Sep 17 00:00:00 2001 From: tangjie02 <tangjie02@kylinsec.com.cn> Date: Tue, 12 Sep 2023 20:29:06 +0800 Subject: [PATCH] fix(xsmp): Ignore the cancel shutdown request. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 用于响应客户端取消结束会话的事件不能通知到用户,会导致开始菜单注销按钮功能不能正常使用,影响用户体验,因此暂时禁止处理该请求 Signed-off-by: tangjie02 <tangjie02@kylinsec.com.cn> --- src/core/inhibitor-manager.cpp | 13 ++++++++++--- src/core/session-manager.cpp | 7 ++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/core/inhibitor-manager.cpp b/src/core/inhibitor-manager.cpp index b42b57d..552929a 100644 --- a/src/core/inhibitor-manager.cpp +++ b/src/core/inhibitor-manager.cpp @@ -129,9 +129,8 @@ void InhibitorManager::deleteInhibitorsWithStartupID() bool InhibitorManager::hasInhibitor(uint32_t flags) { - auto iter = std::find_if(this->m_inhibitors.begin(), this->m_inhibitors.end(), [flags](QSharedPointer<Inhibitor> iter) { - return ((flags & iter->flags) == flags); - }); + auto iter = std::find_if(this->m_inhibitors.begin(), this->m_inhibitors.end(), [flags](QSharedPointer<Inhibitor> iter) + { return ((flags & iter->flags) == flags); }); return (iter != this->m_inhibitors.end()); } @@ -147,6 +146,14 @@ bool InhibitorManager::addInhibitor(QSharedPointer<Inhibitor> inhibitor) KLOG_DEBUG() << "Cookie: " << inhibitor->cookie; + KLOG_DEBUG() << "Add a new inhibitor," + << " cookie: " << inhibitor->cookie + << ", appid: " << inhibitor->appID + << ", flags: " << inhibitor->flags + << ", reason: " << inhibitor->reason + << ", startupID: " << inhibitor->startupID + << ", toplevelXID: " << inhibitor->toplevelXID; + if (this->m_inhibitors.find(inhibitor->cookie) != this->m_inhibitors.end()) { KLOG_WARNING() << "The inhibitor " << inhibitor->cookie << " already exist."; diff --git a/src/core/session-manager.cpp b/src/core/session-manager.cpp index 6ca79be..b5bdb57 100644 --- a/src/core/session-manager.cpp +++ b/src/core/session-manager.cpp @@ -486,9 +486,10 @@ void SessionManager::onInteractDone(Client *client) void SessionManager::onShutdownCanceled(Client *client) { - KLOG_DEBUG() << "Client: " << client->getID() << " cancels shutdown."; - - this->cancelEndSession(); + KLOG_WARNING() << "Client: " << client->getID() << " want to cancels shutdown. ignore the client request."; + /* 如果QT的窗口在closeEvent函数中调用event->ignore()来忽略窗口关闭事件,则桌面会话退出时会收到QT客户端发送的取消结束会话的事件, + 用于响应客户端取消结束会话的事件不能通知到用户,会导致开始菜单->注销按钮功能不能正常使用,影响用户体验,因此暂时禁止处理该请求。*/ + // this->cancelEndSession(); } void SessionManager::onEndSessionPhase2Request(Client *client) -- 2.36.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2