summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-08-25 19:23:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-08-25 19:23:45 +0000
commitafcbdcf850fc8e279a56e6efd6c7cb32a728c3ae (patch)
treea22168edf701ec0a2547ebb4618afd1705f3c911 /libs
parentb9126419aebf105c0ce99e6b083ca898ca7d47fd (diff)
make sure that Crossfades increment source use counts
git-svn-id: svn://localhost/ardour2/branches/3.0@7687 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/crossfade.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc
index aa203c3940..601ea86f6b 100644
--- a/libs/ardour/crossfade.cc
+++ b/libs/ardour/crossfade.cc
@@ -220,9 +220,18 @@ Crossfade::initialize ()
_sources = _in->sources();
_sources.insert (_sources.end(), _out->sources().begin(), _out->sources().end());
+
+ for (SourceList::iterator i = _sources.begin(); i != _sources.end(); ++i) {
+ (*i)->inc_use_count ();
+ }
+
_master_sources = _in->master_sources();
_master_sources.insert(_master_sources.end(), _out->master_sources().begin(), _out->master_sources().end());
+ for (SourceList::iterator i = _master_sources.begin(); i != _master_sources.end(); ++i) {
+ (*i)->inc_use_count ();
+ }
+
_in_update = false;
_out->suspend_fade_out ();