diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-10-07 20:46:10 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-10-07 20:46:10 -0400 |
commit | 22eea8e9e29e91319163f63b6bdefbcbd1062714 (patch) | |
tree | d102990c4d08b0edc1f8a3c1302af5b391fae737 /gtk2_ardour/session_dialog.cc | |
parent | 2230dc92cdbed647e1ce3c4835594dec58bc4926 (diff) |
possible relief for snapshot loading
Diffstat (limited to 'gtk2_ardour/session_dialog.cc')
-rw-r--r-- | gtk2_ardour/session_dialog.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc index dae19067a7..1eacf00d0d 100644 --- a/gtk2_ardour/session_dialog.cc +++ b/gtk2_ardour/session_dialog.cc @@ -222,12 +222,16 @@ SessionDialog::session_folder () TreeIter iter = recent_session_display.get_selection()->get_selected(); if (iter) { - return (*iter)[recent_session_columns.fullpath]; + string s = (*iter)[recent_session_columns.fullpath]; + if (Glib::file_test (s, Glib::FILE_TEST_IS_REGULAR)) { + return Glib::path_get_dirname (s); + } + return s; } if (_existing_session_chooser_used) { /* existing session chosen from file chooser */ - return existing_session_chooser.get_current_folder (); + return Glib::path_get_dirname (existing_session_chooser.get_current_folder ()); } else { std::string legal_session_folder_name = legalize_for_path (new_name_entry.get_text()); return Glib::build_filename (new_folder_chooser.get_current_folder(), legal_session_folder_name); |