9155a86a8a
收口 Dialog/overlay 后鼠标状态同步、Tooltip 临时 coverage 与持久 coverage 拆分、跨 root 脏区补提交、TextBox/Button 绘制副作用修复,并补充 KEY6 回归用例和 BUG/Fix/Feature 开发记录。
1.7 KiB
1.7 KiB
Fix-BUG-20260511-0009
适用场景:记录某个 BUG 的修复方案、影响评估、验证结果与落地信息。
关联信息
- Fix ID: Fix-BUG-20260511-0009
- 关联 BUG ID: BUG-20260511-0009
- 修复目标: 保证
TabControl::indexOf()未命中时返回-1 - 状态:已完成
- 负责人: Codex
- 分支 / 版本: 当前工作区
根因分析
- 根因:
indexOf()循环结束后直接返回idx,没有显式处理未命中分支。 - 触发条件: 查询不存在的页签文本。
- 为什么之前没发现:[可选] 当前测试更多关注页签切换行为,未覆盖未命中返回值。
- 关键证据:[可选]
TabControl.cpp旧实现未命中路径返回最后索引。
修复方案
- 修复思路: 未找到匹配项时显式返回
-1。 - 关键改动: 将
TabControl::indexOf()末尾返回值从idx改为-1。 - 涉及文件 / 类 / 函数:
TabControl.cpp::TabControl::indexOf - 影响的 API / 行为:[可选] 行为修正;符合函数语义。
- 关键约束 / 不变量:[可选] 找到时仍返回真实索引。
- 回滚点 / 开关:[可选] 无
影响评估
- 影响范围: 仅影响
indexOf()未命中返回值。 - 兼容性影响:无
- 行为变化:有(未命中从最后索引修正为
-1) - 性能影响:无
- 回归风险: 低
验证结果
- 验证步骤:
- 编译
TabControl.cpp。 - 编译
z-testDome.cpp的KEY1 ~ KEY6。 - 静态确认未命中路径返回
-1。
- 验证结果: 编译通过
- 回归检查:[可选] KEY1 ~ KEY6 编译级回归通过
- 验证证据:[可选]
落地信息
- Commit: 未提交
- PR:[可选]
- 发布版本:[可选]
- 备注:[可选]