Hande export initialization exceptions gracefully

This commit is contained in:
Sakari Bergen 2013-11-23 19:11:31 +02:00
parent 52309c0c4f
commit f1db14923e
2 changed files with 11 additions and 6 deletions

View file

@ -215,9 +215,9 @@ ExportDialog::init_components ()
}
void
ExportDialog::notify_errors ()
ExportDialog::notify_errors (bool force)
{
if (status->errors()) {
if (force || status->errors()) {
std::string txt = _("Export has been aborted due to an error!\nSee the Log for details.");
Gtk::MessageDialog msg (txt, false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
msg.run();
@ -303,9 +303,14 @@ ExportDialog::show_conflicting_files ()
void
ExportDialog::do_export ()
{
profile_manager->prepare_for_export ();
handler->do_export ();
show_progress ();
try {
profile_manager->prepare_for_export ();
handler->do_export ();
show_progress ();
} catch(std::exception & e) {
error << string_compose (_("Export initialization failed: %1"), e.what()) << endmsg;
notify_errors(true);
}
}
void

View file

@ -95,7 +95,7 @@ class ExportDialog : public ArdourDialog {
void expanded_changed();
void notify_errors ();
void notify_errors (bool force = false);
void close_dialog ();
void sync_with_manager ();