summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/pixfader.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-12-10 21:52:55 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-12-10 21:52:55 +0000
commit3edf3a9817dbd2db63038ed30b3883b28215436c (patch)
treea7cbbd869548e499d48ad1cc927f734fbfb8d4f3 /libs/gtkmm2ext/pixfader.cc
parent737e40a56fa2d325b3b9dc2ca39f5b3b9be887a3 (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.cc13
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;
}