From 15a78bbfb542ebdbc096206749dc6017941b7a4b Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Fri, 5 Oct 2012 14:19:21 -0700 Subject: [PATCH] Timeline: Don't die when a punch recording is started with no range defined. --- timeline/src/Engine/Timeline.C | 4 ++-- timeline/src/TLE.fl | 2 +- timeline/src/Timeline.C | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/timeline/src/Engine/Timeline.C b/timeline/src/Engine/Timeline.C index 783d062..a4320ad 100644 --- a/timeline/src/Engine/Timeline.C +++ b/timeline/src/Engine/Timeline.C @@ -40,7 +40,7 @@ Timeline::record ( void ) nframes_t frame = transport->frame; - if ( transport->punch_enabled() && frame < range_start() ) + if ( transport->punch_enabled() && range_start() != range_end() && frame < range_start() ) frame = range_start(); DMESSAGE( "Going to record starting at frame %lu", (unsigned long)frame ); @@ -64,7 +64,7 @@ Timeline::stop ( void ) { nframes_t frame = transport->frame; - if ( transport->punch_enabled() && frame > range_end() ) + if ( transport->punch_enabled() && range_start() != range_end() && frame > range_end() ) frame = range_end(); for ( int i = tracks->children(); i-- ; ) diff --git a/timeline/src/TLE.fl b/timeline/src/TLE.fl index fde1216..73b12f7 100644 --- a/timeline/src/TLE.fl +++ b/timeline/src/TLE.fl @@ -856,7 +856,7 @@ if ( engine && engine->zombified() && ! zombie ) solo_blinker->value( Track::soloing() ); -if ( transport->punch_enabled() ) +if ( transport->punch_enabled() && timeline->range_start() != timeline->range_end() ) rec_blinker->value( transport->rolling && transport->rec_enabled() && transport->frame >= timeline->range_start() && diff --git a/timeline/src/Timeline.C b/timeline/src/Timeline.C index e7f50d0..085f1ed 100644 --- a/timeline/src/Timeline.C +++ b/timeline/src/Timeline.C @@ -1068,8 +1068,7 @@ Timeline::redraw_playhead ( void ) if ( transport->rolling && transport->rec_enabled() && - transport->punch_enabled() && - transport->frame > range_end() ) + ( ( transport->punch_enabled() && range_start() != range_end() ) && transport->frame > range_end() ) ) transport->stop(); int playhead_x = ts_to_x( transport->frame );