Files
ElyOffice/tasks/reviews/T-05-r1.md
T

1.2 KiB

FAIL

crates/ely-lok/src/view/scroll.rs:116(回归测试:crates/ely-lok/src/view/tests/large.rs:197):extent() 直接沿用旧缩放比例下测得的 doc_size,缩放后的表尾仍被裁切。具体复现:1× DPI 下打开 2048 列、6000 行的 FODS,列宽 0.4 cm、行高固定 0.5 cm,最后一格有值;等待初始状态落定,将缩放从 100% 调至 125%,等待输入队列与事件处理完成,再向下滚到底。视图保留高度 1,620,000 twips,内核实际高度与几何计算的末行底边均为 1,656,000 twips,可见区底边被夹在 1,620,000,末尾约 130 行无法通过滚动显示。setClientZoom 改变了内核尺寸,尺寸变更计数仍为 0,事件监听因此继续使用旧尺寸。新增测试手动设置 doc_size 后立即断言相等,漏掉了这条真实缩放路径。修复方向:在缩放或 DPI 改变后同步重测尺寸,或依据当前几何与比例重算滚动范围;补充真实内核下缩放后滚到末行的回归测试。已自行构建 worker,35 项视图测试通过;隔离探针及增加等待后的独立复测均复现上述裁切(日志:/tmp/ely-t05-zoom-rerun.log)。