fix: 修复打开应用后,点击应用右键菜单“关闭所有”,应用图标背景颜色没有调整的问题
修复点击应用右键菜单“关闭所有”后,没有接受到DestroyNotify事件,主动调用xcb_flush刷新缓存数据 Log: 修复点击应用右键菜单“关闭所有”后应用图标背景颜色没有调整的问题 Task: https://pms.uniontech.com/task-view-150883.html Influence: 应用“关闭所有”后图标显示正常 Change-Id: I8ed731adbd491e531251820826bf75cf891155b6
This commit is contained in:
parent
e0ad69d3d7
commit
2d36508f1e
@ -51,6 +51,11 @@ XWindow XCBUtils::allocId()
|
||||
return xcb_generate_id(m_connect);
|
||||
}
|
||||
|
||||
void XCBUtils::flush()
|
||||
{
|
||||
xcb_flush(m_connect);
|
||||
}
|
||||
|
||||
void XCBUtils::killClientChecked(XWindow xid)
|
||||
{
|
||||
xcb_kill_client_checked(m_connect, xid);
|
||||
@ -172,8 +177,7 @@ void XCBUtils::setActiveWindow(XWindow xid)
|
||||
void XCBUtils::changeActiveWindow(XWindow newActiveXid)
|
||||
{
|
||||
xcb_ewmh_request_change_active_window(&m_ewmh, m_screenNum, newActiveXid, XCB_EWMH_CLIENT_SOURCE_TYPE_OTHER, XCB_CURRENT_TIME, XCB_WINDOW_NONE);
|
||||
// 此处getActiveWindow作用是触发缓冲机制,执行设置活动窗口动作
|
||||
getActiveWindow();
|
||||
flush();
|
||||
}
|
||||
|
||||
void XCBUtils::restackWindow(XWindow xid)
|
||||
@ -596,7 +600,7 @@ void XCBUtils::registerEvents(XWindow xid, uint32_t eventMask)
|
||||
xid,
|
||||
XCB_CW_EVENT_MASK,
|
||||
&value);
|
||||
xcb_flush(m_connect);
|
||||
flush();
|
||||
|
||||
xcb_generic_error_t *error = xcb_request_check(m_connect, cookie);
|
||||
if (error != nullptr) {
|
||||
|
@ -100,6 +100,9 @@ public:
|
||||
// 分配XID
|
||||
XWindow allocId();
|
||||
|
||||
// 刷新
|
||||
void flush();
|
||||
|
||||
/************************* xpropto method ***************************/
|
||||
// 杀掉进程
|
||||
void killClientChecked(XWindow xid);
|
||||
|
@ -778,6 +778,9 @@ AppMenuItem Entry::getMenuItemCloseAll()
|
||||
qInfo() << "close WindowId " << info->getXid();
|
||||
info->close(timestamp);
|
||||
}
|
||||
|
||||
// 关闭窗口后,主动刷新事件
|
||||
XCB->flush();
|
||||
};
|
||||
|
||||
AppMenuItem item;
|
||||
|
Loading…
Reference in New Issue
Block a user