Skip to content
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

Merged
merged 1 commit into from
Nov 13, 2023

Conversation

LiHua000
Copy link
Contributor

@LiHua000 LiHua000 commented Nov 8, 2023

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

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

deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 8, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
@deepin-bot
Copy link
Contributor

deepin-bot bot commented Nov 8, 2023

Doc Check bot
🟢 Document Coverage Check Passed!

@kegechen
Copy link
Contributor

kegechen commented Nov 8, 2023

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

@kegechen kegechen requested a review from zccrs November 8, 2023 09:03
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 8, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
@LiHua000 LiHua000 changed the title fix: 在控制中心-vpn界面点击导出后,保存后,vpn界面依然置灰 fix: DApplication初始化过程中会覆盖原有事件掩码,导致丢失事件 Nov 9, 2023
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
zccrs
zccrs previously approved these changes Nov 9, 2023
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 9, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
@LiHua000
Copy link
Contributor Author

LiHua000 commented Nov 9, 2023

/merge

@deepin-bot
Copy link
Contributor

deepin-bot bot commented Nov 9, 2023

This pr cannot be merged! (status: blocked)

@kegechen
Copy link
Contributor

kegechen commented Nov 9, 2023

/check obs

deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 10, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
@kegechen
Copy link
Contributor

/check obs

@deepin-bot
Copy link
Contributor

deepin-bot bot commented Nov 10, 2023

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

@asterwyx
Copy link
Contributor

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

deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 13, 2023
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
deepin-ci-robot added a commit to linuxdeepin/dtk6widget that referenced this pull request Nov 13, 2023
Synchronize source files from linuxdeepin/dtkwidget.

Source-pull-request: linuxdeepin/dtkwidget#535
@deepin-ci-robot
Copy link
Contributor

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kegechen kegechen merged commit 01043df into linuxdeepin:master Nov 13, 2023
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants