diff options
author | rabite <rabite@posteo.de> | 2020-02-08 00:17:56 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2020-02-08 00:17:56 +0100 |
commit | e3b4c997bf3f0075c6e1ecb282117d9cade3a440 (patch) | |
tree | d001ff84ecb5a134ce0d982ad38813164ea02aa1 /src/quick_actions.rs | |
parent | 6afca62010f2b6e7dc4921c4d4aa02ce5e5c3b33 (diff) |
fix crash by catching tree_magic's panic and handle it gracefully
Diffstat (limited to 'src/quick_actions.rs')
-rw-r--r-- | src/quick_actions.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/quick_actions.rs b/src/quick_actions.rs index 8f7fa24..5a08e0e 100644 --- a/src/quick_actions.rs +++ b/src/quick_actions.rs @@ -12,7 +12,7 @@ use std::ffi::OsString; use std::str::FromStr; -use crate::fail::{HResult, HError, KeyBindError}; +use crate::fail::{HResult, HError, KeyBindError, ErrorLog}; use crate::widget::{Widget, WidgetCore, Events}; use crate::foldview::{Foldable, FoldableWidgetExt, ActingExt}; use crate::listview::ListView; @@ -432,12 +432,16 @@ impl QuickFiles for Vec<File> { fn common_mime(&self) -> Option<Mime> { let first_mime = self .get(0)? - .get_mime(); + .get_mime() + .log_and() + .ok(); self.iter() .fold(first_mime, |common_mime, file| { - let cur_mime = file.get_mime(); + let cur_mime = file.get_mime() + .log_and() + .ok(); if &cur_mime == &common_mime { cur_mime |