Skip to content

fix: 修复截图菜单被动态命中检测穿透 - #217

Merged
Rvosy merged 1 commit into
mainfrom
fix/screenshot-menu-click-through
Sep 15, 2026
Merged

Rvosy merged 1 commit into
mainfrom
fix/screenshot-menu-click-through

Conversation

@Rvosy

@Rvosy Rvosy commented Sep 15, 2026

Copy link
Copy Markdown
Owner

问题与修复

Windows 使用 Spine 动态点击穿透时,打开「+」菜单后,截图按钮虽然可见,鼠标却会穿透到底层窗口。引入提交为 252af3aa984f3046dcb95417e375b77cb5e7ee9f(2026-09-14,内置 Spine 形态并完善工坊与动态点击穿透)。菜单只更新了原生窗口区域,动态检测读取的会话状态没有菜单区域。

在原生更新成功后保存菜单命中区域,关闭时清除;鼠标轮询、穿透切换和延迟返回的立绘检测共用控件优先判断。恢复窗口命中区域时也保留已打开的菜单。原生更新失败保留此前状态。

验证

  • Windows Rust:cargo test --manifest-path desktop/src-tauri/Cargo.toml composer_tool_dock -- --nocapture,1 项通过,覆盖菜单打开、关闭、区域边界及原生更新失败。
  • 将检测临时恢复为旧行为,回归测试在菜单打开后的可点击断言处失败;恢复修复后通过。
  • Windows Rust:cargo test --manifest-path desktop/src-tauri/Cargo.toml dynamic_hit_test -- --nocapture,1 项通过。
  • cargo fmt --checkgit diff --check 通过。
  • 未执行真实窗口 journey:本机 Sakura 正在运行,该测试要求先退出现有实例,保留用户会话。

@Rvosy
Rvosy merged commit a1ffd5f into main Sep 15, 2026
7 checks passed
@Rvosy
Rvosy deleted the fix/screenshot-menu-click-through branch September 15, 2026 17:45
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.

1 participant