From 3edf3a9817dbd2db63038ed30b3883b28215436c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 10 Dec 2012 21:52:55 +0000 Subject: [PATCH] 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 --- libs/gtkmm2ext/pixfader.cc | 13 ++++++++++--- 1 file 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; }