diff options
author | rabite <rabite@posteo.de> | 2019-05-06 20:26:20 +0200 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-05-06 21:41:51 +0200 |
commit | ad5d23da52c6152b6c465f9a22c9650189858e2f (patch) | |
tree | 73201d48aa9c47a3c5a81e9d5dc6de330bedf6bf | |
parent | ee748022cb0f826eb483dcff11de2c89e1a88937 (diff) |
fix crash when filtering down to 1 file
-rw-r--r-- | src/listview.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/listview.rs b/src/listview.rs index 8895764..1317f2e 100644 --- a/src/listview.rs +++ b/src/listview.rs @@ -440,6 +440,7 @@ impl ListView<Files> fn filter(&mut self) -> HResult<()> { let filter = self.minibuffer("filter").ok(); + let selected_file = self.selected_file().clone(); let msgstr = filter.clone().unwrap_or(String::from("")); self.show_status(&format!("Filtering with: \"{}\"", msgstr)).log(); @@ -447,13 +448,12 @@ impl ListView<Files> self.content.set_filter(filter); if self.content.len() == 0 { - self.show_status("No files like that! Resetting filter").log(); + self.show_status("No files like that! Resetting filter.").log(); self.content.set_filter(Some("".to_string())); } - if self.get_selection() > self.len() { - self.set_selection(self.len()); - } + self.select_file(&selected_file); + Ok(()) } |