Commit: 61b3e6313ac97ea8ad93f3cede5d058f5bc1c233
Parent: aeb4969149a3dbccda90b070dcb7bf30392cf63b
Author: Randy Palamar
Date: Fri, 7 Aug 2026 19:08:32 -0700
ui: don't modify tab focus of existing group when it is split
The focus needs to be set after the children are moved to the new
split as the panel_group_insert_at() function sets the focus
itself (simplifies code elsewhere).
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/beamformer_core.c b/beamformer_core.c
@@ -2030,12 +2030,13 @@ beamformer_frame_step(void *memory, BeamformerInput *input)
target_child_index = left == drag ? 1 : 0;
assert(target->kind == BeamformerPanelKind_TabGroup);
- new_split->kind = BeamformerPanelKind_TabGroup;
- new_split->u.tab_focus = target->u.tab_focus;
+ BeamformerUIPanel *focus = target->u.tab_focus;
+ new_split->kind = BeamformerPanelKind_TabGroup;
for (BeamformerUIPanel *child = target->last_child, *next; child; child = next) {
next = child->previous_sibling;
beamformer_panel_group_insert_at(new_split, child, 0);
}
+ new_split->u.tab_focus = focus;
beamformer_panel_group_insert_at(target, new_tab_group, 0);
}