Commit bd77a71
Loom fix-up 2: bypass F-UI's broken Tab M_SETINDEX; reposition ribbon
Two remaining bugs after the first fix-up. Both surfaced clearly from
the user's smoke test:
1. CROSS-REF / PALETTE / ATLAS: "the correct element is selected but
the tab doesn't switch."
F-UI's Tab `Case M_SETINDEX` handler does set `Tab\actTabPage`
internally, but the visible tab does not switch when invoked from
outside the click path. Suspected cause: the implementation has a
nested-For-loop iterator with both loops named `tabp`:
For tabp.TabPage = Each TabPage ' outer
If Count = Param1
Tab\actTabPage = tabp
For tabp.TabPage = Each TabPage ' inner, shadows outer
...rebuild every page...
Next
Exit
In non-Strict Blitz, `For X = Each Type` implicitly declares X at
function scope; the inner re-declaration likely corrupts state in a
way that nullifies the assignment by the time the next FUI_Update
renders.
Bypass M_SETINDEX with `GUE_SetActiveTab(idx)` in CommandPalette.bb
that does the same work but with distinct iterator names (`probe`
for the search, `sib` for the rebuild pass), then call it from
GUE_JumpToEntity in place of `FUI_SendMessage(TabMain, M_SETINDEX,
tabIdx)`. Still fires the Case TabMain event afterward so the
existing leave/enter dispatcher runs its hide/show logic.
2. CONSCIENCE RIBBON: Issues button at Y=24 is invisible.
The tab title strip occupies Y=20..40 (TABPAGE_HEIGHT = 20), so
Y=24 puts the button behind that strip and behind whatever the
tabs render. Y=2 (previous attempt) was inside the menu bar's
click-capture zone. There is no usable top strip in WMain that's
free of both regions.
Move to the bottom of WMain instead: rowY = sh - 22. The bottom
strip is the only horizontal band that has nothing in it on any
tab. Computed from GraphicsHeight() at Init so it works in any
window size.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 9c937af commit bd77a71
2 files changed
Lines changed: 68 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
360 | | - | |
361 | | - | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
362 | 372 | | |
363 | 373 | | |
364 | 374 | | |
| |||
381 | 391 | | |
382 | 392 | | |
383 | 393 | | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
55 | 57 | | |
56 | 58 | | |
57 | 59 | | |
| |||
87 | 89 | | |
88 | 90 | | |
89 | 91 | | |
90 | | - | |
91 | | - | |
92 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
93 | 95 | | |
| 96 | + | |
| 97 | + | |
94 | 98 | | |
95 | 99 | | |
96 | | - | |
| 100 | + | |
97 | 101 | | |
98 | 102 | | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
| 103 | + | |
| 104 | + | |
103 | 105 | | |
104 | 106 | | |
105 | 107 | | |
| |||
0 commit comments