summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/session_state.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 79d8ca1c02..db1eb30d3c 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -74,6 +74,7 @@
#include "pbd/stacktrace.h"
#include "pbd/convert.h"
#include "pbd/clear_dir.h"
+#include "pbd/strsplit.h"
#include "ardour/amp.h"
#include "ardour/audio_diskstream.h"
@@ -1902,7 +1903,13 @@ Session::load_sources (const XMLNode& node)
string fullpath;
if (!Glib::path_is_absolute (err.path)) {
- fullpath = Glib::build_filename (source_search_path (DataType::MIDI).front(), err.path);
+ vector<Glib::ustring> sdirs;
+ split (source_search_path (DataType::MIDI), sdirs, ':');
+ if (sdirs.empty()) {
+ fatal << _("Empty MIDI source search path!") << endmsg;
+ /*NOTREACHED*/
+ }
+ fullpath = Glib::build_filename (sdirs.front(), err.path);
} else {
/* this should be an unrecoverable error: we would be creating a MIDI file outside
the session tree.