diff options
author | rabite <rabite@posteo.de> | 2019-05-06 20:26:20 +0200 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-05-06 20:26:20 +0200 |
commit | 20bd119a7e70a1a570c2a53e3db92860be43ad5b (patch) | |
tree | 534c2675e1b1723781e8e8e531a035cda73d29f9 | |
parent | ed3acc1ad53ab18d119bb48905db4d29836b78bb (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 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(()) } |