X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fvrender.C;h=43893b2770106845d2fbe6533eadb657bc1e3d81;hb=7ffa6954689f14a41a3bae7a0fdb3f2abeaa9679;hp=9e6bbc1cbfbfe7bc37609b6afd6ad4aeab83996e;hpb=7773615d89c9da219d3ade11c265601bfbc07dc0;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/vrender.C b/cinelerra-5.1/cinelerra/vrender.C index 9e6bbc1c..43893b27 100644 --- a/cinelerra-5.1/cinelerra/vrender.C +++ b/cinelerra-5.1/cinelerra/vrender.C @@ -22,6 +22,7 @@ #include "asset.h" #include "bcsignals.h" #include "cache.h" +#include "canvas.h" #include "clip.h" #include "condition.h" #include "datatype.h" @@ -74,9 +75,10 @@ VRender::VRender(RenderEngine *renderengine) VRender::~VRender() { - if(input_temp) delete input_temp; - if(transition_temp) delete transition_temp; - if(overlayer) delete overlayer; + renderengine->wait_done(); + delete overlayer; + delete input_temp; + delete transition_temp; } @@ -97,10 +99,9 @@ Module* VRender::new_module(Track *track) int VRender::flash_output() { - if(video_out) - return renderengine->video->write_buffer(video_out, renderengine->get_edl()); - else - return 0; + if( !video_out ) return 0; + renderengine->update_scope(video_out); + return renderengine->video->write_buffer(video_out, renderengine->get_edl()); } int VRender::process_buffer(VFrame *video_out,