Files
StellarX-kaifa/开发记录/BUG/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

52 lines
1.5 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.
# BUG-20260511-0009
> 适用场景:记录问题本身,不展开完整修复方案。修复内容写入对应的 Fix 文档。
## 基本信息
- ID: BUG-20260511-0009
- 标题: TabControl::indexOf 未命中时返回最后索引
- 状态:已修复
- 严重性:S3
- 优先级:P2
- 模块: TabControl
- 版本 / 分支: 当前工作区
- 环境: Windows / EasyX / z-testDome 回归场景
- 发现人: Codex 巡检
- 关联 Fix ID: Fix-BUG-20260511-0009
## 问题描述
- 现象: `TabControl::indexOf(const std::string& tabText) const` 在未找到目标页签时返回循环后的最后索引。
- 影响范围: 依赖 `indexOf()` 判断页签是否存在的调用方可能把“不存在”误判为最后一个页签。
- 期望结果: 找到匹配页签时返回对应索引;未找到时返回 `-1`
- 实际结果: 未找到时返回最后一个页签的索引。
## 复现信息
- 前置条件:[可选]
- 复现步骤:
1. 构造包含至少一个页签的 `TabControl`
2. 调用 `indexOf()` 查询不存在的页签文本。
3. 观察返回值。
- 复现概率:必现
- 最小复现 Demo[可选]
- 证据:源码巡检可证
## 初步分析
- 疑似位置: `TabControl.cpp::indexOf`
- 触发条件: 查询文本不存在。
- 相关线索: 函数名和预期语义要求“不存在返回 -1”,但旧实现返回 `idx`
- 最近相关改动:[可选]
## 跟踪信息
- 首次发现时间: 2026-05-11
- 最后更新时间: 2026-05-11
- 修复版本: 当前工作区
- 验证版本: KEY1 ~ KEY6 编译验证通过
- 备注:[可选]