summaryrefslogtreecommitdiff
path: root/libs/ardour/track.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/track.cc')
-rw-r--r--libs/ardour/track.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc
index d94ab81ac1..0cf2fc2010 100644
--- a/libs/ardour/track.cc
+++ b/libs/ardour/track.cc
@@ -103,7 +103,13 @@ Track::init ()
set_align_choice_from_io ();
- use_new_playlist (data_type());
+ if (!name().empty()) {
+ /* an empty name means that we are being constructed via
+ serialized state (XML). Don't create a playlist, because one
+ will be created or discovered during ::set_state().
+ */
+ use_new_playlist (data_type());
+ }
boost::shared_ptr<Route> rp (boost::dynamic_pointer_cast<Route> (shared_from_this()));
boost::shared_ptr<Track> rt = boost::dynamic_pointer_cast<Track> (rp);