summaryrefslogtreecommitdiff
path: root/gtk2_ardour/session_dialog.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-10-07 20:46:10 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-10-07 20:46:10 -0400
commit22eea8e9e29e91319163f63b6bdefbcbd1062714 (patch)
treed102990c4d08b0edc1f8a3c1302af5b391fae737 /gtk2_ardour/session_dialog.cc
parent2230dc92cdbed647e1ce3c4835594dec58bc4926 (diff)
possible relief for snapshot loading
Diffstat (limited to 'gtk2_ardour/session_dialog.cc')
-rw-r--r--gtk2_ardour/session_dialog.cc8
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);