ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

Commit: ba381987f7b3e110fc2717b88859f3371fba4c0a
Parent: a3eaea1a2426c11bf0ad9ce44340d8be56d164aa
Author: Randy Palamar
Date:   Thu, 12 Mar 2026 14:44:09 -0600

ui: fix crash when moving from X-Plane to Copy view type

Diffstat:
Mui.c | 13+++++--------
1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/ui.c b/ui.c @@ -3399,12 +3399,11 @@ scroll_interaction(Variable *var, f32 delta) case VT_BEAMFORMER_VARIABLE:{ BeamformerVariable *bv = &var->beamformer_variable; f32 value = *bv->store + delta * bv->scroll_scale; - *bv->store = CLAMP(value, bv->limits.x, bv->limits.y); + *bv->store = Clamp(value, bv->limits.x, bv->limits.y); }break; case VT_CYCLER:{ - if (delta > 0) *var->cycler.state += 1; - else *var->cycler.state -= 1; - *var->cycler.state %= var->cycler.cycle_length; + u32 new_state = *var->cycler.state += delta; + *var->cycler.state = new_state % var->cycler.cycle_length; }break; case VT_UI_VIEW:{ var->view.rect.pos.h += UI_SCROLL_SPEED * delta; @@ -3790,8 +3789,8 @@ ui_extra_actions(BeamformerUI *ui, Variable *var) case VT_BEAMFORMER_FRAME_VIEW:{ u32 delta = ui_cycler_delta_for_frame(); BeamformerFrameView *old = view->child->generic; - BeamformerFrameView *new = view->child->generic = ui_beamformer_frame_view_new(ui, &ui->arena); - BeamformerFrameViewKind last_kind = (old->kind - delta) % BeamformerFrameViewKind_Count; + view->child->generic = ui_beamformer_frame_view_new(ui, &ui->arena); + BeamformerFrameViewKind last_kind = ((u32)old->kind - delta) % BeamformerFrameViewKind_Count; /* NOTE(rnp): log_scale gets released below before its needed */ b32 log_scale = old->log_scale->bool32; @@ -3799,8 +3798,6 @@ ui_extra_actions(BeamformerUI *ui, Variable *var) ui_beamformer_frame_view_release_subresources(ui, old, last_kind); ui_beamformer_frame_view_convert(ui, &ui->arena, view->child, view->menu, old->kind, old, log_scale); - if (new->kind == BeamformerFrameViewKind_Copy) - ui_beamformer_frame_view_copy_frame(ui, new, old); DLLRemove(old); SLLPushFreelist(old, ui->view_freelist);