diff options
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/session_dialog.cc | 12 |
2 files changed, 11 insertions, 5 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 90c9b9cf29..4b3c372281 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -3702,7 +3702,7 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, } catch (SessionException e) { MessageDialog msg (string_compose( - _("Session \"%1 (snapshot %2)\" did not load successfully: %3"), + _("Session \"%1 (snapshot %2)\" did not load successfully:\n%3"), path, snap_name, e.what()), true, Gtk::MESSAGE_INFO, @@ -3723,7 +3723,7 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, catch (...) { MessageDialog msg (string_compose( - _("Session \"%1 (snapshot %2)\" did not load successfully"), + _("Session \"%1 (snapshot %2)\" did not load successfully."), path, snap_name), true, Gtk::MESSAGE_INFO, diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc index 7a9e1589ba..638c564c51 100644 --- a/gtk2_ardour/session_dialog.cc +++ b/gtk2_ardour/session_dialog.cc @@ -780,8 +780,6 @@ SessionDialog::redisplay_recent_sessions () continue; } - Gtk::TreeModel::Row row = *(recent_session_model->append()); - float sr; SampleFormat sf; std::string program_version; @@ -802,13 +800,21 @@ SessionDialog::redisplay_recent_sessions () std::string s = Glib::build_filename (dirname, state_file_basename + statefile_suffix); + int err = Session::get_info_from_path (s, sr, sf, program_version); + if (err < 0) { + // XML cannot be parsed, or unsuppored version + continue; + } + GStatBuf gsb; g_stat (s.c_str(), &gsb); + Gtk::TreeModel::Row row = *(recent_session_model->append()); row[recent_session_columns.fullpath] = s; row[recent_session_columns.time_modified] = gsb.st_mtime; - if (Session::get_info_from_path (s, sr, sf, program_version) == 0) { + + if (err == 0) { row[recent_session_columns.sample_rate] = rate_as_string (sr); switch (sf) { case FormatFloat: |