From 8fbcb4eb79cdbc281d12bd71c103f8b97b6475e4 Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Tue, 8 Sep 2015 17:28:47 -0700 Subject: [PATCH] Timeline: Ensure that pushed widget gets FL_RELEASE event even when being dragged unto a another track. --- timeline/src/Sequence.C | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/timeline/src/Sequence.C b/timeline/src/Sequence.C index fae4fa4..f6ac4e3 100644 --- a/timeline/src/Sequence.C +++ b/timeline/src/Sequence.C @@ -321,10 +321,6 @@ Sequence::handle ( int m ) /* if ( m != FL_NO_EVENT ) */ /* DMESSAGE( "%s", event_name( m ) ); */ -// if ( m == FL_RELEASE ) - if ( ! Fl::pushed() ) - Sequence_Widget::pushed( NULL ); - switch ( m ) { case FL_KEYBOARD: @@ -469,7 +465,13 @@ Sequence::handle ( int m ) /* DMESSAGE( "Sequence widget = %p", r ); */ if ( m == FL_RELEASE ) + { + // in the case of track jumping, the sequence widget may not get the FL_RELEASE less we send it here: + if ( Sequence_Widget::pushed() ) + Sequence_Widget::pushed()->handle(FL_RELEASE); + Sequence_Widget::pushed( NULL ); + } if ( r ) {