diff --git a/editor/src/messages/dialog/dialog_message_handler.rs b/editor/src/messages/dialog/dialog_message_handler.rs index 59a57aff24..28d77ff153 100644 --- a/editor/src/messages/dialog/dialog_message_handler.rs +++ b/editor/src/messages/dialog/dialog_message_handler.rs @@ -1,5 +1,6 @@ use super::simple_dialogs::{self, AboutGraphiteDialog, DemoArtworkDialog, LicensesDialog}; use crate::messages::dialog::simple_dialogs::LicensesThirdPartyDialog; +use crate::messages::frontend::utility_types::ExportBounds; use crate::messages::layout::utility_types::widget_prelude::*; use crate::messages::prelude::*; @@ -84,6 +85,13 @@ impl MessageHandler> for DialogMessageHa .collect(); self.export_dialog.artboards = artboards; + + if let ExportBounds::Artboard(layer) = self.export_dialog.bounds { + if !self.export_dialog.artboards.contains_key(&layer) { + self.export_dialog.bounds = ExportBounds::AllArtwork; + } + } + self.export_dialog.has_selection = document.network_interface.selected_nodes().selected_layers(document.metadata()).next().is_some(); self.export_dialog.send_dialog_to_frontend(responses); } diff --git a/editor/src/messages/dialog/export_dialog/export_dialog_message_handler.rs b/editor/src/messages/dialog/export_dialog/export_dialog_message_handler.rs index ec6edfe0fb..6b3497f743 100644 --- a/editor/src/messages/dialog/export_dialog/export_dialog_message_handler.rs +++ b/editor/src/messages/dialog/export_dialog/export_dialog_message_handler.rs @@ -122,7 +122,7 @@ impl LayoutHolder for ExportDialogMessageHandler { } else { self.bounds }; - let index = choices.iter().flatten().position(|(bounds, _, _)| *bounds == current_bounds).unwrap(); + let index = choices.iter().flatten().position(|(bounds, _, _)| *bounds == current_bounds).unwrap_or(0); let mut entries = choices .into_iter()