Prevent recursive VCA assignments
[ardour.git] / libs / ardour / vca.cc
index 7be103e9e439af0443c6a435f50b2ac589dc8436..b7b95d127137ed7832bc44b3d8ca840e8be9e213 100644 (file)
@@ -208,6 +208,17 @@ VCA::slaved_to (boost::shared_ptr<VCA> vca) const
        return _gain_control->slaved_to (vca->gain_control());
 }
 
+void
+VCA::assign (boost::shared_ptr<VCA> v)
+{
+       /* prevent recursive assignments */
+       if (assigned_to (_session.vca_manager_ptr (), v)) {
+               warning << _("Master assignment inored to prevent recursion") << endmsg;
+               return;
+       }
+       Slavable::assign (v);
+}
+
 SlavableControlList
 VCA::slavables () const
 {