diff --git a/src/ui/listview.rs b/src/ui/listview.rs index 593cbab..07f7966 100644 --- a/src/ui/listview.rs +++ b/src/ui/listview.rs @@ -188,9 +188,17 @@ impl ListView { } } - pub fn remove(&self, index: usize) { + /// Remove the item at `index` from the list. + /// + /// # Panics + /// + /// Panics if `index` is out of bounds. + pub fn remove(&mut self, index: usize) { let mut c = self.content.write().unwrap(); c.remove(index); + if self.selected >= c.len() { + self.selected = self.selected.saturating_sub(1); + } } }