X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Frenderengine.C;h=f5c0754a589da98204943629fd62bb2aa470b6b3;hb=74afbc29ac4ce9d94d53e10342979f2c59f1f193;hp=4e8bc7de26d189ca8fc36ebf8c3fd5969b2feee5;hpb=d66e2dde00fcfbe27c461a9956e66753faa62c95;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/renderengine.C b/cinelerra-5.1/cinelerra/renderengine.C index 4e8bc7de..f5c0754a 100644 --- a/cinelerra-5.1/cinelerra/renderengine.C +++ b/cinelerra-5.1/cinelerra/renderengine.C @@ -86,10 +86,11 @@ RenderEngine::~RenderEngine() delete input_lock; delete start_lock; delete output_lock; + delete render_active; delete interrupt_lock; delete first_frame_lock; delete config; - edl->Garbage::remove_user(); + if( edl ) edl->Garbage::remove_user(); } EDL* RenderEngine::get_edl() @@ -543,6 +544,12 @@ void RenderEngine::run() } } + if( playback_engine->is_playing_back && command->displacement ) { + double position = playback_engine->tracking_position - + 1./command->get_edl()->session->frame_rate; + playback_engine->tracking_position = position >= 0 ? position : 0; + } + if(!interrupted) playback_engine->command->command = STOP; playback_engine->stop_tracking();