debug: fix debug crash when adding columns

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2025-03-17 11:38:24 -07:00
parent 0b22ca345c
commit adb3359bd8

View File

@@ -549,12 +549,10 @@ fn render_damus_desktop(app: &mut Damus, app_ctx: &mut AppContext<'_>, ui: &mut
} }
fn timelines_view(ui: &mut egui::Ui, sizes: Size, app: &mut Damus, ctx: &mut AppContext<'_>) { fn timelines_view(ui: &mut egui::Ui, sizes: Size, app: &mut Damus, ctx: &mut AppContext<'_>) {
let num_cols = get_active_columns(ctx.accounts, &app.decks_cache).num_columns();
StripBuilder::new(ui) StripBuilder::new(ui)
.size(Size::exact(ui::side_panel::SIDE_PANEL_WIDTH)) .size(Size::exact(ui::side_panel::SIDE_PANEL_WIDTH))
.sizes( .sizes(sizes, num_cols)
sizes,
get_active_columns(ctx.accounts, &app.decks_cache).num_columns(),
)
.clip(true) .clip(true)
.horizontal(|mut strip| { .horizontal(|mut strip| {
let mut side_panel_action: Option<nav::SwitchingAction> = None; let mut side_panel_action: Option<nav::SwitchingAction> = None;
@@ -588,13 +586,6 @@ fn timelines_view(ui: &mut egui::Ui, sizes: Size, app: &mut Damus, ctx: &mut App
); );
}); });
let mut save_cols = false;
if let Some(action) = side_panel_action {
save_cols =
save_cols || action.process(&mut app.timeline_cache, &mut app.decks_cache, ctx);
}
let num_cols = app.columns(ctx.accounts).num_columns();
let mut responses = Vec::with_capacity(num_cols); let mut responses = Vec::with_capacity(num_cols);
for col_index in 0..num_cols { for col_index in 0..num_cols {
strip.cell(|ui| { strip.cell(|ui| {
@@ -615,6 +606,14 @@ fn timelines_view(ui: &mut egui::Ui, sizes: Size, app: &mut Damus, ctx: &mut App
//strip.cell(|ui| timeline::timeline_view(ui, app, timeline_ind)); //strip.cell(|ui| timeline::timeline_view(ui, app, timeline_ind));
} }
// process the side panel action after so we don't change the number of columns during
// StripBuilder rendering
let mut save_cols = false;
if let Some(action) = side_panel_action {
save_cols =
save_cols || action.process(&mut app.timeline_cache, &mut app.decks_cache, ctx);
}
for response in responses { for response in responses {
let save = response.process_render_nav_response(app, ctx); let save = response.process_render_nav_response(app, ctx);
save_cols = save_cols || save; save_cols = save_cols || save;