summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/pan_controllable.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/pan_controllable.cc b/libs/ardour/pan_controllable.cc
index 2f9ca3e6a6..3037ccf706 100644
--- a/libs/ardour/pan_controllable.cc
+++ b/libs/ardour/pan_controllable.cc
@@ -26,14 +26,16 @@ using namespace ARDOUR;
void
PanControllable::actually_set_value (double v, Controllable::GroupControlDisposition group_override)
{
- boost::shared_ptr<Panner> p = owner->panner();
+ v = std::min (upper (), std::max (lower (), v));
- if (!p) {
+ if (!owner || !owner->panner()) {
/* no panner: just do it */
AutomationControl::actually_set_value (v, group_override);
return;
}
+ boost::shared_ptr<Panner> p = owner->panner();
+
bool can_set = false;
switch (parameter().type()) {