summaryrefslogtreecommitdiff
path: root/libs/ardour/session_playlists.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-11-12 15:50:38 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-11-12 15:50:38 +0000
commit7253e8ff84d294a5527e985551ebc43f2a9b1df9 (patch)
tree73aa02d0e443e0d1bb22e38f8f2f47c7485652ec /libs/ardour/session_playlists.cc
parentf73bfef770111f46bb78e97672ac31dab37d0b48 (diff)
fix for #5078 - not considering unused playlists when computing region use count
git-svn-id: svn://localhost/ardour2/branches/3.0@13452 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_playlists.cc')
-rw-r--r--libs/ardour/session_playlists.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/libs/ardour/session_playlists.cc b/libs/ardour/session_playlists.cc
index ac3baf2008..b2c4640880 100644
--- a/libs/ardour/session_playlists.cc
+++ b/libs/ardour/session_playlists.cc
@@ -252,7 +252,9 @@ SessionPlaylists::find_equivalent_playlist_regions (boost::shared_ptr<Region> re
(*i)->get_region_list_equivalent_regions (region, result);
}
-/** Return the number of playlists (not regions) that contain @a src */
+/** Return the number of playlists (not regions) that contain @a src
+ * Important: this counts usage in both used and not-used playlists.
+ */
uint32_t
SessionPlaylists::source_use_count (boost::shared_ptr<const Source> src) const
{
@@ -264,6 +266,14 @@ SessionPlaylists::source_use_count (boost::shared_ptr<const Source> src) const
break;
}
}
+
+ for (List::const_iterator p = unused_playlists.begin(); p != unused_playlists.end(); ++p) {
+ if ((*p)->uses_source (src)) {
+ ++count;
+ break;
+ }
+ }
+
return count;
}