summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-02-28 17:17:23 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2014-02-28 17:17:23 -0500
commit895084a806ae5b14351f29ea3aa50be2006183c6 (patch)
tree8f40673502302bc488ec37fe14a695b778e55d0e /gtk2_ardour
parente60933650e6b6054a7bc2709196c5b06d2693572 (diff)
fix semantics of button press -> leave button -> button release, to match typical GUI toolkits
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_button.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc
index c79a27264f..7df6b50490 100644
--- a/gtk2_ardour/ardour_button.cc
+++ b/gtk2_ardour/ardour_button.cc
@@ -709,7 +709,7 @@ ArdourButton::on_button_press_event (GdkEventButton *ev)
bool
ArdourButton::on_button_release_event (GdkEventButton *ev)
{
- if ((_elements & Indicator) && _led_rect && _distinct_led_click) {
+ if (_hovering && (_elements & Indicator) && _led_rect && _distinct_led_click) {
if (ev->x >= _led_rect->x && ev->x < _led_rect->x + _led_rect->width &&
ev->y >= _led_rect->y && ev->y < _led_rect->y + _led_rect->height) {
signal_led_clicked(); /* EMIT SIGNAL */
@@ -721,16 +721,17 @@ ArdourButton::on_button_release_event (GdkEventButton *ev)
unset_active_state ();
}
- signal_clicked ();
-
- if (_act_on_release) {
- if (_action) {
- _action->activate ();
- return true;
+ if (_hovering) {
+ signal_clicked ();
+
+ if (_act_on_release) {
+ if (_action) {
+ _action->activate ();
+ return true;
+ }
}
}
-
return false;
}