summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-05-06 20:26:20 +0200
committerrabite <rabite@posteo.de>2019-05-06 20:26:20 +0200
commit20bd119a7e70a1a570c2a53e3db92860be43ad5b (patch)
tree534c2675e1b1723781e8e8e531a035cda73d29f9
parented3acc1ad53ab18d119bb48905db4d29836b78bb (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 f584597..1d2d44e 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(())
}