diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-12-10 21:52:55 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-12-10 21:52:55 +0000 |
commit | 3edf3a9817dbd2db63038ed30b3883b28215436c (patch) | |
tree | a7cbbd869548e499d48ad1cc927f734fbfb8d4f3 /libs/gtkmm2ext/pixfader.cc | |
parent | 737e40a56fa2d325b3b9dc2ca39f5b3b9be887a3 (diff) |
pixfader: don't change drawing state (prelight) just because a leave event arrives IF we are dragging
git-svn-id: svn://localhost/ardour2/branches/3.0@13633 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/gtkmm2ext/pixfader.cc')
-rw-r--r-- | libs/gtkmm2ext/pixfader.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc index 931c5ebe45..e9d053a8bd 100644 --- a/libs/gtkmm2ext/pixfader.cc +++ b/libs/gtkmm2ext/pixfader.cc @@ -305,6 +305,11 @@ PixFader::on_button_release_event (GdkEventButton* ev) remove_modal_grab(); dragging = false; + if (!_hovering) { + Keyboard::magic_widget_drop_focus(); + queue_draw (); + } + if (ev_pos == grab_start) { /* no motion - just a click */ @@ -499,9 +504,11 @@ PixFader::on_enter_notify_event (GdkEventCrossing*) bool PixFader::on_leave_notify_event (GdkEventCrossing*) { - _hovering = false; - Keyboard::magic_widget_drop_focus(); - queue_draw (); + if (!dragging) { + _hovering = false; + Keyboard::magic_widget_drop_focus(); + queue_draw (); + } return false; } |