diff --git a/crates/git_ui/src/git_panel.rs b/crates/git_ui/src/git_panel.rs index cbe40e24b6..79a42c8ae3 100644 --- a/crates/git_ui/src/git_panel.rs +++ b/crates/git_ui/src/git_panel.rs @@ -1383,6 +1383,14 @@ impl GitPanel { } } + fn select_last_entry_if_out_of_bounds(&mut self, window: &mut Window, cx: &mut Context) { + if let Some(idx) = self.selected_entry + && idx >= self.entries.len() + { + self.select_last(&menu::SelectLast, window, cx); + } + } + fn focus_changes_list( &mut self, _: &FocusChanges, @@ -4076,6 +4084,7 @@ impl GitPanel { } self.select_first_entry_if_none(window, cx); + self.select_last_entry_if_out_of_bounds(window, cx); let suggested_commit_message = self.suggest_commit_message(cx); let placeholder_text = suggested_commit_message.unwrap_or("Enter commit message".into());