port(2V0-b): verify window tree and fix 64-bit LZO lengths

This commit is contained in:
shen
2026-09-22 19:18:11 -07:00
parent b4c9d6cefc
commit a0ad587f78
13 changed files with 2694 additions and 13 deletions
+6 -3
View File
@@ -244,8 +244,11 @@ static void run(UI::CWindowManager& wm)
CHECK(wm.IsFocusWindow(c) && !wm.IsFocusWindow(a));
CHECK(take_log() == "A:blur C:focus");
wm.DeactivateWindow();
CHECK(wm.IsFocusWindow(a));
CHECK(take_log() == "C:blur A:focus");
wm.DeactivateWindow();
CHECK(!wm.IsFocus());
take_log();
CHECK(take_log() == "A:blur");
// ---- 按键:RunKeyDownEvent 从 root 往下走,第一个 OnKeyDown 返回真的窗口吃掉它并被记成捕获者 ----
a->Hide(); // A 的处理器返回 0,藏起来让这段日志只剩 C
@@ -262,10 +265,10 @@ static void run(UI::CWindowManager& wm)
// ---- Update 沿着树走,Hide 的分支整支跳过 ----
take_log();
wm.Update();
CHECK(take_log() == "A:update B:update C:update");
CHECK(take_log() == "C:update A:update B:update");
b->Hide();
wm.Update();
CHECK(take_log() == "A:update C:update");
CHECK(take_log() == "C:update A:update");
b->Show();
// ---- 销毁:先从管理器的各个指针里摘干净,再从父窗口摘掉,真正的 delete 留到下一次 Update ----