-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: DApplication初始化过程中会覆盖原有事件掩码,导致丢失事件 #535
Conversation
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Doc Check bot |
commit 信息组织一下,dtkwidget 毕竟不是仅仅给控制中心使用的。 可以从原理角度描述一下bug,最后附上bug连接 |
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
src/widgets/private/startupnotifications/startupnotificationmonitor.cpp
Outdated
Show resolved
Hide resolved
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
src/widgets/private/startupnotifications/startupnotificationmonitor.cpp
Outdated
Show resolved
Hide resolved
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
/merge |
This pr cannot be merged! (status: blocked) |
/check obs |
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
/check obs |
Deepin Obs Bot |
commit信息主体前面的尾注Log删一下 |
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
DApplication应用初始化时通过设置xcb窗口属性,设置了XCB_EVENT_MASK_PROPERTY_CHANGE事件掩码,此时Xorg会对发送给客户端的事件根据事件掩码来过滤,例如关闭文件选择对话框时发送的类型为focusIn的clientMessageEvent就不会发送给客户端。修改为先判断当前事件掩码是否含有XCB_EVENT_MASK_PROPERTY_CHANGE掩码,有的话不进行处理,没有的话在原有掩码上追加该掩码 Bug: https://pms.uniontech.com/bug-view-220369.html
Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: linuxdeepin/dtkwidget#535
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: kegechen, LiHua000 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Log:DApplication应用初始化时通过设置xcb窗口属性,设置了XCB_EVENT_MASK_PROPERTY_CHANGE事件掩码,此时Xorg会对发送给客户端的事件根据事件掩码来过滤,例如关闭文件选择对话框时发送的类型为focusIn的clientMessageEvent就不会发送给客户端。虽然在关闭对话框时,XOrg也会发送一次FocusIn底层事件,但这个事件和窗口的关闭信号有时序上的问题,所以真正重要的是前面所说的clientMessageEvent。故添加事件掩码以获取对应事件。
Bug: https://pms.uniontech.com/bug-view-220369.html