2.1 KiB
2.1 KiB
补充记录-20260409-窗口最大化收口保护
说明
- 本文件用于补充记录 2026-04-09 当天新增的窗口最大化收口问题。
- 对应修改发生在
f567369快照之后,当前仍位于工作区未提交状态。
问题概述
- 现象:
- 某些窗口初始尺寸下,直接点击最大化会出现黑背景、控件残影。
- 若先手动拖拽窗口略微放大,再最大化,则问题消失。
- 影响用例:
KEY == 1KEY == 2
- 不受影响用例:
KEY == 3KEY == 4
根因
Window.cpp的runEventLoop()resize 收口中存在一段历史“跨度保护”。- 该保护把“宽高变化超过 1000”视为异常帧,直接终止收口:
- 不再执行
adaptiveLayout - 不再执行
Resize - 不再执行
redrawScene(true, true)
- 不再执行
- 因此新暴露区域不会被完整刷新,最终表现为黑背景与残影。
本次新增记录
- BUG:
- Fix:
- 功能变更:
修改摘要
- 将“跨度过大即跳过”改为“仅非法尺寸才跳过”。
- 非法尺寸标准:
actualWidth <= 0actualHeight <= 0actualWidth > max(10000, virtualScreenWidth * 2)actualHeight > max(10000, virtualScreenHeight * 2)
- 对“大跨度但合法”的 resize 保留
DEBUG日志,但继续执行完整收口。 - 顺手删除了
Window.cpp中未使用的ExMessage mm;遗留变量。
当前状态
- 代码修改:已完成,待提交
- 文档记录:已补充
- 验证状态:
- 已完成源码级编译验证
- 待用户做 GUI 回归