diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index d49e7dd9..af10cfd9 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -12889,34 +12889,42 @@ rd_frame(void) case RD_CmdKind_NextTab: { RD_Panel *panel = rd_panel_from_handle(rd_regs()->panel); - RD_View *view = rd_selected_tab_from_panel(panel); - RD_View *next_view = 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) + RD_View *start_view = rd_selected_tab_from_panel(panel); + RD_View *next_view = start_view; + 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; break; } } - view = next_view; - panel->selected_tab_view = rd_handle_from_view(view); + panel->selected_tab_view = rd_handle_from_view(next_view); }break; case RD_CmdKind_PrevTab: { RD_Panel *panel = rd_panel_from_handle(rd_regs()->panel); - RD_View *view = rd_selected_tab_from_panel(panel); - RD_View *next_view = 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) + RD_View *start_view = rd_selected_tab_from_panel(panel); + RD_View *next_view = start_view; + 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; break; } } - view = next_view; - panel->selected_tab_view = rd_handle_from_view(view); + panel->selected_tab_view = rd_handle_from_view(next_view); }break; case RD_CmdKind_MoveTabRight: case RD_CmdKind_MoveTabLeft: diff --git a/src/raddbg/raddbg_views.c b/src/raddbg/raddbg_views.c index a5145a36..c0a77d40 100644 --- a/src/raddbg/raddbg_views.c +++ b/src/raddbg/raddbg_views.c @@ -5315,7 +5315,7 @@ RD_VIEW_RULE_UI_FUNCTION_DEF(scheduler) { rd_watch_view_init(wv); 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, str8_lit("threads"), str8_lit("only: label str id callstack v count vaddr inline_depth"), 0, 10, rect);