diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-04-14 03:03:35 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-04-14 13:07:07 -0400 |
commit | be0da8ff5c1a3bfbdf0a2934a79aeeed26ade3bc (patch) | |
tree | 85176c4f282901d2b61485aad0c7aaa0e9957987 /libs/ardour/session.cc | |
parent | 2e3a84b15afb749fbbfd05d765badb53434188b0 (diff) |
merge 5764970709f15e85ec30c9cea89c318eb8114c58 from cairocanvas as final(?) change related to data loss
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index c9e0068431..1de5730a95 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -3470,6 +3470,15 @@ Session::new_audio_source_name (const string& base, uint32_t nchan, uint32_t cha break; } + /* it is possible that we have the path already + * assigned to a source that has not yet been written + * (ie. the write source for a diskstream). we have to + * check this in order to make sure that our candidate + * path isn't used again, because that can lead to + * two Sources point to the same file with different + * notions of their removability. + */ + string possible_path = Glib::build_filename (spath, buf); if (source_by_path (possible_path)) { |