if a slave's masters are at zero, lock slave to zero and not NaN
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 22 Feb 2017 08:35:49 +0000 (09:35 +0100)
committerPaul Davis <paul@linuxaudiosystems.com>
Wed, 22 Feb 2017 08:35:49 +0000 (09:35 +0100)
libs/ardour/slavable_automation_control.cc

index c67cb641881ff62c7d5086f311a4649eebe151f3..cd46194316be514aa56d56004cd26fc0e51a161b 100644 (file)
@@ -103,7 +103,12 @@ SlavableAutomationControl::actually_set_value (double value, PBD::Controllable::
 
                if (!_masters.empty()) {
                        /* need to scale given value by current master's scaling */
-                       value /= get_masters_value_locked();
+                       const double masters_value = get_masters_value_locked();
+                       if (masters_value == 0.0) {
+                               value = 0.0;
+                       } else {
+                               value /= masters_value;
+                       }
                }
        }