From b2be7cb6bd797f40d998a80d61cc88a75632b193 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 28 Jun 2016 16:05:35 -0400 Subject: remove debug output and add a few suggestive comments --- libs/ardour/playlist.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'libs/ardour/playlist.cc') diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc index 7267ec8cdf..58405e4755 100644 --- a/libs/ardour/playlist.cc +++ b/libs/ardour/playlist.cc @@ -2675,7 +2675,13 @@ Playlist::uses_source (boost::shared_ptr src, bool shallow) const RegionReadLock rlock (const_cast (this)); for (set >::const_iterator r = all_regions.begin(); r != all_regions.end(); ++r) { - if ((*r)->uses_source (src, true)) { + /* Note: passing the second argument as false can cause at best + incredibly deep and time-consuming recursion, and at worst + cycles if the user has managed to create cycles of reference + between compound regions. We generally only this during + cleanup, and @param shallow is passed as true. + */ + if ((*r)->uses_source (src, shallow)) { return true; } } -- cgit v1.2.3