diff --git a/apps/effectcraft/src/file_dialogs.rs b/apps/effectcraft/src/file_dialogs.rs index a80387541..6a209cb9d 100644 --- a/apps/effectcraft/src/file_dialogs.rs +++ b/apps/effectcraft/src/file_dialogs.rs @@ -141,7 +141,12 @@ pub fn install_pickers(app: &mut EffectcraftApp, ctx: &egui::Context) -> Receive pub fn message(title: &str, description: String) { let shown = guarded("message", || rfd::MessageDialog::new().set_level(rfd::MessageLevel::Error).set_title(title).set_description(description).show()); if let Err(e) = shown { - log::error!("{e}"); + // The diagnostic helper runs before logging is installed. + if log::log_enabled!(log::Level::Error) { + log::error!("{e}"); + } else { + eprintln!("effectcraft: {e}"); + } } } diff --git a/apps/effectcraft/src/main.rs b/apps/effectcraft/src/main.rs index c762d731a..61554858f 100644 --- a/apps/effectcraft/src/main.rs +++ b/apps/effectcraft/src/main.rs @@ -196,7 +196,7 @@ fn start_helpers_if_opted_in(session: &mut effectcraft_engine::Session) { fn main() -> eframe::Result { let args: Vec<_> = std::env::args_os().skip(1).collect(); if crash_report::maybe_run(&args, |description| { - file_dialogs::message("EffectCraft diagnostic report", description); + file_dialogs::message("EffectCraft diagnostic report", description.to_owned()); }) { return Ok(()); }