summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-05-06 20:26:20 +0200
committerrabite <rabite@posteo.de>2019-05-06 21:41:51 +0200
commitad5d23da52c6152b6c465f9a22c9650189858e2f (patch)
tree73201d48aa9c47a3c5a81e9d5dc6de330bedf6bf
parentee748022cb0f826eb483dcff11de2c89e1a88937 (diff)
fix crash when filtering down to 1 file
-rw-r--r--src/listview.rs8
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(())
}