Files
StellarX-kaifa/开发记录/Fix/Fix-BUG-20260511-0009-TabControl-indexOf未命中返回值修复.md
Codex 9155a86a8a 发布前托管重绘与布局封版收口
收口 Dialog/overlay 后鼠标状态同步、Tooltip 临时 coverage 与持久 coverage 拆分、跨 root 脏区补提交、TextBox/Button 绘制副作用修复,并补充 KEY6 回归用例和 BUG/Fix/Feature 开发记录。
2026-05-17 00:26:08 +08:00

56 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`
- 性能影响:无
- 回归风险: 低
## 验证结果
- 验证步骤:
1. 编译 `TabControl.cpp`
2. 编译 `z-testDome.cpp``KEY1 ~ KEY6`
3. 静态确认未命中路径返回 `-1`
- 验证结果: 编译通过
- 回归检查:[可选] KEY1 ~ KEY6 编译级回归通过
- 验证证据:[可选]
## 落地信息
- Commit: 未提交
- PR[可选]
- 发布版本:[可选]
- 备注:[可选]