summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs42
1 files changed, 20 insertions, 22 deletions
diff --git a/src/main.rs b/src/main.rs
index 4bc692d7..725fe5ee 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -735,32 +735,30 @@ fn generate_config_colours(config: &Config, painter: &mut canvas::Painter) -> er
fn panic_hook(panic_info: &PanicInfo<'_>) {
let mut stdout = stdout();
- if cfg!(debug_assertions) {
- let msg = match panic_info.payload().downcast_ref::<&'static str>() {
- Some(s) => *s,
- None => match panic_info.payload().downcast_ref::<String>() {
- Some(s) => &s[..],
- None => "Box<Any>",
- },
- };
-
- let stacktrace: String = format!("{:?}", backtrace::Backtrace::new());
-
- execute!(
- stdout,
- Print(format!(
- "thread '<unnamed>' panicked at '{}', {}\n\r{}",
- msg,
- panic_info.location().unwrap(),
- stacktrace
- )),
- )
- .unwrap();
- }
+ let msg = match panic_info.payload().downcast_ref::<&'static str>() {
+ Some(s) => *s,
+ None => match panic_info.payload().downcast_ref::<String>() {
+ Some(s) => &s[..],
+ None => "Box<Any>",
+ },
+ };
+
+ let stacktrace: String = format!("{:?}", backtrace::Backtrace::new());
disable_raw_mode().unwrap();
execute!(stdout, LeaveAlternateScreen).unwrap();
execute!(stdout, DisableMouseCapture).unwrap();
+
+ execute!(
+ stdout,
+ Print(format!(
+ "thread '<unnamed>' panicked at '{}', {}\n\r{}",
+ msg,
+ panic_info.location().unwrap(),
+ stacktrace
+ )),
+ )
+ .unwrap();
}
fn update_final_process_list(app: &mut app::App) {