diff options
author | rabite <rabite@posteo.de> | 2020-01-24 23:30:34 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2020-01-24 23:30:34 +0100 |
commit | b18e86f28e556c5834912b05c4e2e30b1d4dbd54 (patch) | |
tree | 970c6ccb4c73c90aea8e5134b53949064e66604f | |
parent | 42b1fe7507a49e637be10daf365d8bef30c89720 (diff) |
fix regression/crash when directory becomes empty
-rw-r--r-- | src/files.rs | 7 | ||||
-rw-r--r-- | src/listview.rs | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/files.rs b/src/files.rs index fe346f6..208c805 100644 --- a/src/files.rs +++ b/src/files.rs @@ -209,12 +209,13 @@ impl RefreshPackage { // Need to unpack this to prevent issue with recursive Files type // Also, if no files remain add placeholder and set len - let (files, new_len) = if files.len() > 0 { - (files.files, files.len) + let (files, new_len, new_buffer) = if files.len() > 0 { + (files.files, files.len, new_buffer) } else { let placeholder = File::new_placeholder(&files.directory.path).unwrap(); + let buffer = vec![render_fn(&placeholder)]; files.files.push(placeholder); - (files.files, 1) + (files.files, 1, buffer) }; diff --git a/src/listview.rs b/src/listview.rs index d048b4f..36439b1 100644 --- a/src/listview.rs +++ b/src/listview.rs @@ -112,6 +112,7 @@ impl Listable for ListView<Files> { let path = &self.content.directory.path; let placeholder = File::new_placeholder(&path)?; self.content.files.push(placeholder); + self.content.len = 1; } let sender = self.core.get_sender(); |