fix: intercept events during interactive move#1059
Closed
deepin-wm wants to merge 1 commit into
Closed
Conversation
1. Add HoverMove interception in beforeDisposeEvent to block hover events during interactive move/resize 2. Add beforeHandleEvent override to prevent synthetic pointer events from bypassing the interception 3. Add re-entry guard in beginMoveResize to prevent state corruption from duplicate beginMoveResizeForSeat 4. Expose seatContainers() for per-seat container lookup 5. Use QSinglePointEvent instead of QMouseEvent for HoverMove compatibility Log: Fixed interactive move event interception defect under Treeland Influence: 1. Test interactive window move/resize under Treeland 2. Test QML6 app title bar drag and release 3. Test multi-seat move/resize scenarios 4. Verify no pointer events leak to client during move 5. Test window resize with edge dragging fix: 修复交互式move期间事件拦截缺陷 1. beforeDisposeEvent新增HoverMove拦截,在交互式 移动/缩放期间阻止hover事件 2. 新增beforeHandleEvent override防止合成指针事件 绕过拦截 3. beginMoveResize新增防重入保护,防止重复调用 beginMoveResizeForSeat导致状态损坏 4. 暴露seatContainers()接口用于按seat查找容器 5. 使用QSinglePointEvent替代QMouseEvent以兼容 HoverMove事件 Log: 修复Treeland下交互式移动期间事件拦截缺陷 Influence: 1. 测试Treeland下交互式窗口移动/缩放 2. 测试QML6应用标题栏拖拽和释放 3. 测试多seat移动/缩放场景 4. 验证移动期间无指针事件泄露到客户端 5. 测试窗口边缘拖拽缩放
There was a problem hiding this comment.
Sorry @deepin-wm, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: deepin-wm The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
b5e6c96 to
956787e
Compare
|
TAG Bot New tag: 0.8.13 |
Contributor
Author
|
此 PR 涉及的 treeland 侧修改经确认与当前 issue 无关,关闭该 PR。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix interactive move event interception defects in Treeland compositor, preventing pointer events from leaking to clients during interactive move/resize.
Changes
HoverMoveinterception inbeforeDisposeEventto block hover events during interactive move/resizebeforeHandleEventoverride to prevent synthetic pointer events from bypassing the interceptionbeginMoveResizeto prevent state corruption from duplicatebeginMoveResizeForSeatcallsseatContainers()for per-seat container lookupQSinglePointEventinstead ofQMouseEventforHoverMovecompatibilityRelated