mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 13:58:40 +00:00
fix busted next/prev tab operations on panels with single tab
This commit is contained in:
+20
-12
@@ -12889,34 +12889,42 @@ rd_frame(void)
|
|||||||
case RD_CmdKind_NextTab:
|
case RD_CmdKind_NextTab:
|
||||||
{
|
{
|
||||||
RD_Panel *panel = rd_panel_from_handle(rd_regs()->panel);
|
RD_Panel *panel = rd_panel_from_handle(rd_regs()->panel);
|
||||||
RD_View *view = rd_selected_tab_from_panel(panel);
|
RD_View *start_view = rd_selected_tab_from_panel(panel);
|
||||||
RD_View *next_view = view;
|
RD_View *next_view = start_view;
|
||||||
for(RD_View *v = view; !rd_view_is_nil(v); v = rd_view_is_nil(v->order_next) ? panel->first_tab_view : v->order_next)
|
U64 idx = 0;
|
||||||
|
for(RD_View *v = start_view; !rd_view_is_nil(v); v = (rd_view_is_nil(v->order_next) ? panel->first_tab_view : v->order_next), idx += 1)
|
||||||
{
|
{
|
||||||
if(!rd_view_is_project_filtered(v) && v != view)
|
if(v == start_view && idx != 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(!rd_view_is_project_filtered(v) && v != start_view)
|
||||||
{
|
{
|
||||||
next_view = v;
|
next_view = v;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
view = next_view;
|
panel->selected_tab_view = rd_handle_from_view(next_view);
|
||||||
panel->selected_tab_view = rd_handle_from_view(view);
|
|
||||||
}break;
|
}break;
|
||||||
case RD_CmdKind_PrevTab:
|
case RD_CmdKind_PrevTab:
|
||||||
{
|
{
|
||||||
RD_Panel *panel = rd_panel_from_handle(rd_regs()->panel);
|
RD_Panel *panel = rd_panel_from_handle(rd_regs()->panel);
|
||||||
RD_View *view = rd_selected_tab_from_panel(panel);
|
RD_View *start_view = rd_selected_tab_from_panel(panel);
|
||||||
RD_View *next_view = view;
|
RD_View *next_view = start_view;
|
||||||
for(RD_View *v = view; !rd_view_is_nil(v); v = rd_view_is_nil(v->order_prev) ? panel->last_tab_view : v->order_prev)
|
U64 idx = 0;
|
||||||
|
for(RD_View *v = start_view; !rd_view_is_nil(v); v = (rd_view_is_nil(v->order_prev) ? panel->last_tab_view : v->order_prev), idx += 1)
|
||||||
{
|
{
|
||||||
if(!rd_view_is_project_filtered(v) && v != view)
|
if(v == start_view && idx != 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(!rd_view_is_project_filtered(v) && v != start_view)
|
||||||
{
|
{
|
||||||
next_view = v;
|
next_view = v;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
view = next_view;
|
panel->selected_tab_view = rd_handle_from_view(next_view);
|
||||||
panel->selected_tab_view = rd_handle_from_view(view);
|
|
||||||
}break;
|
}break;
|
||||||
case RD_CmdKind_MoveTabRight:
|
case RD_CmdKind_MoveTabRight:
|
||||||
case RD_CmdKind_MoveTabLeft:
|
case RD_CmdKind_MoveTabLeft:
|
||||||
|
|||||||
@@ -5315,7 +5315,7 @@ RD_VIEW_RULE_UI_FUNCTION_DEF(scheduler)
|
|||||||
{
|
{
|
||||||
rd_watch_view_init(wv);
|
rd_watch_view_init(wv);
|
||||||
rd_watch_view_column_alloc(wv, RD_WatchViewColumnKind_Expr, 0.25f);
|
rd_watch_view_column_alloc(wv, RD_WatchViewColumnKind_Expr, 0.25f);
|
||||||
rd_watch_view_column_alloc(wv, RD_WatchViewColumnKind_Value, 0.75f);
|
rd_watch_view_column_alloc(wv, RD_WatchViewColumnKind_Value, 0.75f, .dequote_string = 1);
|
||||||
}
|
}
|
||||||
rd_watch_view_build(wv, RD_WatchViewFlag_NoHeader|RD_WatchViewFlag_PrettyNameMembers|RD_WatchViewFlag_PrettyEntityRows|RD_WatchViewFlag_DisableCacheLines,
|
rd_watch_view_build(wv, RD_WatchViewFlag_NoHeader|RD_WatchViewFlag_PrettyNameMembers|RD_WatchViewFlag_PrettyEntityRows|RD_WatchViewFlag_DisableCacheLines,
|
||||||
str8_lit("threads"), str8_lit("only: label str id callstack v count vaddr inline_depth"), 0, 10, rect);
|
str8_lit("threads"), str8_lit("only: label str id callstack v count vaddr inline_depth"), 0, 10, rect);
|
||||||
|
|||||||
Reference in New Issue
Block a user