summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2020-01-24 23:30:34 +0100
committerrabite <rabite@posteo.de>2020-01-24 23:30:34 +0100
commitb18e86f28e556c5834912b05c4e2e30b1d4dbd54 (patch)
tree970c6ccb4c73c90aea8e5134b53949064e66604f
parent42b1fe7507a49e637be10daf365d8bef30c89720 (diff)
fix regression/crash when directory becomes empty
-rw-r--r--src/files.rs7
-rw-r--r--src/listview.rs1
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();