diff options
Diffstat (limited to 'gtk2_ardour/stereo_panner.cc')
-rw-r--r-- | gtk2_ardour/stereo_panner.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk2_ardour/stereo_panner.cc b/gtk2_ardour/stereo_panner.cc index 70190cc859..4e715c49ee 100644 --- a/gtk2_ardour/stereo_panner.cc +++ b/gtk2_ardour/stereo_panner.cc @@ -363,6 +363,7 @@ StereoPanner::on_button_press_event (GdkEventButton* ev) if (ev->y < 20) { /* top section of widget is for position drags */ dragging_position = true; + StartPositionGesture (); } else { /* lower section is for dragging width */ @@ -388,6 +389,7 @@ StereoPanner::on_button_press_event (GdkEventButton* ev) dragging_right = true; } } + StartWidthGesture (); } dragging = true; @@ -403,6 +405,8 @@ StereoPanner::on_button_release_event (GdkEventButton* ev) return false; } + bool dp = dragging_position; + dragging = false; dragging_position = false; dragging_left = false; @@ -418,6 +422,12 @@ StereoPanner::on_button_release_event (GdkEventButton* ev) /* reset to default */ position_control->set_value (0.5); width_control->set_value (1.0); + } else { + if (dp) { + StopPositionGesture (); + } else { + StopWidthGesture (); + } } return true; |