summaryrefslogtreecommitdiffstats
path: root/src/Canvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Canvas.cpp')
-rw-r--r--src/Canvas.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Canvas.cpp b/src/Canvas.cpp
index e353945..56e64f5 100644
--- a/src/Canvas.cpp
+++ b/src/Canvas.cpp
@@ -1131,7 +1131,12 @@ GanvCanvasImpl::port_event(GdkEvent* event, GanvPort* port)
const double sens = fmaxf(1.0 - fabs(dy), value_range / range_x);
const double dvalue = (dx * value_range) * sens;
- const double value = control_start_value + dvalue;
+ double value = control_start_value + dvalue;
+ if (value < port->impl->control->min) {
+ value = port->impl->control->min;
+ } else if (value > port->impl->control->max) {
+ value = port->impl->control->max;
+ }
ganv_port_set_control_value(port, value);
return true;
}