summaryrefslogtreecommitdiffstats
path: root/src/file_browser.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-03-10 16:41:57 +0100
committerrabite <rabite@posteo.de>2019-03-10 16:41:57 +0100
commitb332c4fb116302117b584cd0cbf440266e00e17e (patch)
tree3d307c7b70d4f2d9c8547d9073bb684c37ef6de6 /src/file_browser.rs
parent9fcc12f464132d75660f331de5588ba454327fa3 (diff)
crash fix
Diffstat (limited to 'src/file_browser.rs')
-rw-r--r--src/file_browser.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/file_browser.rs b/src/file_browser.rs
index bb4a1a7..2c20c21 100644
--- a/src/file_browser.rs
+++ b/src/file_browser.rs
@@ -243,6 +243,11 @@ impl FileBrowser {
let cached_files = self.get_cached_files(&dir).ok();
let main_widget = self.main_widget_mut()?;
+ if dir.read_dir().is_err() {
+ self.show_status("Can't enter! Permission denied!").log();
+ return Ok(());
+ }
+
main_widget.change_to(Box::new(move |stale, core| {
let path = dir.path();
let cached_files = cached_files.clone();
@@ -383,17 +388,17 @@ impl FileBrowser {
}
}
if !watched_dirs.contains(&cwd.path) {
- self.watcher.watch(&cwd.path, RecursiveMode::NonRecursive).unwrap();
+ self.watcher.watch(&cwd.path, RecursiveMode::NonRecursive)?;
self.watches.push(cwd.path);
}
if !watched_dirs.contains(&left_dir.path) {
- self.watcher.watch(&left_dir.path, RecursiveMode::NonRecursive).unwrap();
+ self.watcher.watch(&left_dir.path, RecursiveMode::NonRecursive)?;
self.watches.push(left_dir.path);
}
if let Some(preview_dir) = preview_dir {
if !watched_dirs.contains(&preview_dir) && preview_dir.is_dir() {
- self.watcher.watch(&preview_dir, RecursiveMode::NonRecursive).unwrap();
- self.watches.push(preview_dir);
+ self.watcher.watch(&preview_dir, RecursiveMode::NonRecursive)?;
+ self.watches.push(preview_dir);
}
}
Ok(())