From 8fc605ed84e94437db9b9e3e7e04a89d9a2e5bf7 Mon Sep 17 00:00:00 2001 From: Joonas Javanainen Date: Sun, 21 Apr 2019 00:06:16 +0300 Subject: [PATCH] Don't end frame normally when panicking igEndFrame might end up doing an assert that aborts the process, which prevents the panic handler from doing its job. --- src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index dfe6cb8..561b4a7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,6 +6,7 @@ use std::os::raw::{c_char, c_float, c_int, c_uchar, c_void}; use std::ptr; use std::slice; use std::str; +use std::thread; use sys::ImGuiStyleVar; pub use self::child_frame::ChildFrame; @@ -588,7 +589,7 @@ impl<'ui> Ui<'ui> { impl<'a> Drop for Ui<'a> { fn drop(&mut self) { - if self.needs_cleanup { + if self.needs_cleanup && !thread::panicking() { unsafe { sys::igEndFrame(); CURRENT_UI = None;