From 4e1772425d6d7cc966429045e801b60b81cc0a35 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 3 Aug 2017 02:04:39 +0200 Subject: prevent duplicate playlist-names when re-naming #7438 --- libs/ardour/diskstream.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libs/ardour/diskstream.cc b/libs/ardour/diskstream.cc index 24339ec8cc..882ca10a54 100644 --- a/libs/ardour/diskstream.cc +++ b/libs/ardour/diskstream.cc @@ -46,6 +46,7 @@ #include "ardour/profile.h" #include "ardour/playlist.h" #include "ardour/session.h" +#include "ardour/session_playlists.h" #include "ardour/track.h" #include "ardour/types_convert.h" @@ -476,8 +477,12 @@ Diskstream::set_name (const string& str) { if (_name != str) { assert(playlist()); - playlist()->set_name (str); - SessionObject::set_name(str); + std::string name (str); + while (_session.playlists->by_name (name)) { + name = Playlist::bump_name (name, _session); + } + playlist()->set_name (name); + SessionObject::set_name(name); } return true; } -- cgit v1.2.3