mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'backtraces_and_panics' into 'master'
Fix panic when minimizing, show backtraces when panicking See merge request veloren/veloren!108 Former-commit-id: 161f1ffe4818cce3535be3913b9da2c476b56334
This commit is contained in:
commit
6699d7cba2
@ -99,6 +99,7 @@ fn main() {
|
||||
|
||||
// Set up panic handler to relay swish panic messages to the user
|
||||
let settings_clone = settings.clone();
|
||||
let default_hook = panic::take_hook();
|
||||
panic::set_hook(Box::new(move |panic_info| {
|
||||
let msg = format!(" \
|
||||
A critical error has occured and Voxygen has been forced to terminate in an unusual manner. Details about the error can be found below.
|
||||
@ -126,6 +127,8 @@ The information below is intended for developers and testers.
|
||||
log::error!("VOXYGEN HAS PANICKED\n\n{}", msg);
|
||||
|
||||
msgbox::create("Voxygen has panicked", &msg, msgbox::IconType::ERROR);
|
||||
|
||||
default_hook(panic_info);
|
||||
}));
|
||||
|
||||
let mut global_state = GlobalState { settings, window };
|
||||
|
@ -609,8 +609,13 @@ impl Ui {
|
||||
self.scale.window_resized(new_dims, renderer);
|
||||
let (w, h) = self.scale.scaled_window_size().into_tuple();
|
||||
self.ui.handle_event(Input::Resize(w, h));
|
||||
self.cache
|
||||
.clear_graphic_cache(renderer, renderer.get_resolution().map(|e| e * 4));
|
||||
|
||||
let res = renderer.get_resolution();
|
||||
// Avoid panic in graphic cache when minimizing
|
||||
if res.x > 0 && res.y > 0 {
|
||||
self.cache
|
||||
.clear_graphic_cache(renderer, renderer.get_resolution().map(|e| e * 4));
|
||||
}
|
||||
// TODO: probably need to resize glyph cache, see conrod's gfx backend for reference
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user