diff --git a/crates/workspace/src/pane.rs b/crates/workspace/src/pane.rs index 5fd04a556c..9644ef9e79 100644 --- a/crates/workspace/src/pane.rs +++ b/crates/workspace/src/pane.rs @@ -2784,7 +2784,19 @@ impl Pane { }) .collect::>(); let tab_count = tab_items.len(); - let unpinned_tabs = tab_items.split_off(self.pinned_tab_count); + let safe_pinned_count = if self.pinned_tab_count > tab_count { + log::warn!( + "Pinned tab count ({}) exceeds actual tab count ({}). \ + This should not happen. If possible, add reproduction steps, \ + in a comment, to https://github.com/zed-industries/zed/issues/33342", + self.pinned_tab_count, + tab_count + ); + tab_count + } else { + self.pinned_tab_count + }; + let unpinned_tabs = tab_items.split_off(safe_pinned_count); let pinned_tabs = tab_items; TabBar::new("tab_bar") .when(