diff options
author | rabite <rabite@posteo.de> | 2019-03-10 16:41:57 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-03-10 16:41:57 +0100 |
commit | b332c4fb116302117b584cd0cbf440266e00e17e (patch) | |
tree | 3d307c7b70d4f2d9c8547d9073bb684c37ef6de6 /src/file_browser.rs | |
parent | 9fcc12f464132d75660f331de5588ba454327fa3 (diff) |
crash fix
Diffstat (limited to 'src/file_browser.rs')
-rw-r--r-- | src/file_browser.rs | 13 |
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(()) |