linuxdeepin / dtkwidget

Deepin Toolkit, widget module for DDE look and feel
Other
203 stars 144 forks source link

fix: DApplication初始化过程中会覆盖原有事件掩码,导致丢失事件 #535

Closed LiHua000 closed 10 months ago

LiHua000 commented 10 months ago

Log:DApplication应用初始化时通过设置xcb窗口属性,设置了XCB_EVENT_MASK_PROPERTY_CHANGE事件掩码,此时Xorg会对发送给客户端的事件根据事件掩码来过滤,例如关闭文件选择对话框时发送的类型为focusIn的clientMessageEvent就不会发送给客户端。虽然在关闭对话框时,XOrg也会发送一次FocusIn底层事件,但这个事件和窗口的关闭信号有时序上的问题,所以真正重要的是前面所说的clientMessageEvent。故添加事件掩码以获取对应事件。

Bug: https://pms.uniontech.com/bug-view-220369.html

deepin-bot[bot] commented 10 months ago

Doc Check bot :green_circle: Document Coverage Check Passed!

kegechen commented 10 months ago

commit 信息组织一下,dtkwidget 毕竟不是仅仅给控制中心使用的。 可以从原理角度描述一下bug,最后附上bug连接

LiHua000 commented 10 months ago

/merge

deepin-bot[bot] commented 10 months ago

This pr cannot be merged! (status: blocked)

kegechen commented 10 months ago

/check obs

kegechen commented 10 months ago

/check obs

deepin-bot[bot] commented 10 months ago

Deepin Obs Bot Deepin redeliveried failed, need update or recreate pull request!!!

asterwyx commented 10 months ago

commit信息主体前面的尾注Log删一下

deepin-ci-robot commented 10 months ago

[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: - **[debian/deepin/OWNERS](https://github.com/linuxdeepin/dtkwidget/blob/master/debian/deepin/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment