X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Faudio_playlist.cc;h=30479cf65b2dc4df0d327670d53811bfec06f3c8;hb=1e424e11460812262df89c08c6af521a935760cf;hp=812aa8783ba301f22989ae9da79d7d29da3af484;hpb=79f91c7a205d981d2b8cc15e32a6da02d8423065;p=ardour.git diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc index 812aa8783b..30479cf65b 100644 --- a/libs/ardour/audio_playlist.cc +++ b/libs/ardour/audio_playlist.cc @@ -46,7 +46,7 @@ AudioPlaylist::AudioPlaylist (Session& session, const XMLNode& node, bool hidden assert(!prop || DataType(prop->value()) == DataType::AUDIO); in_set_state++; - set_state (node); + set_state (node, Stateful::loading_state_version); in_set_state--; } @@ -351,7 +351,7 @@ AudioPlaylist::check_dependents (boost::shared_ptr r, bool norefresh) boost::shared_ptr top; boost::shared_ptr bottom; boost::shared_ptr xfade; - RegionList* touched_regions; + RegionList* touched_regions = 0; if (in_set_state || in_partition) { return; @@ -401,6 +401,8 @@ AudioPlaylist::check_dependents (boost::shared_ptr r, bool norefresh) OverlapType c = top->coverage (bottom->position(), bottom->last_frame()); + delete touched_regions; + try { switch (c) { case OverlapNone: @@ -509,6 +511,8 @@ AudioPlaylist::check_dependents (boost::shared_ptr r, bool norefresh) } } + + delete touched_regions; } void @@ -566,7 +570,7 @@ AudioPlaylist::set_state (const XMLNode& node, int version) in_set_state++; - Playlist::set_state (node); + Playlist::set_state (node, version); freeze ();