From b18e86f28e556c5834912b05c4e2e30b1d4dbd54 Mon Sep 17 00:00:00 2001 From: rabite Date: Fri, 24 Jan 2020 23:30:34 +0100 Subject: fix regression/crash when directory becomes empty --- src/files.rs | 7 ++++--- 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 { 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(); -- cgit v1.2.3