X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fzwindow.C;h=7f6d2800b8f0279c175bacaea9c5a0ea1ecae706;hp=6508b9e457673f05853e4bc9258d15cfdc8db445;hb=c905fabd0678fcc8ab9e32e4443ad8709adafefd;hpb=3bf30d220f7855b995b887dc10812ae3780e6805 diff --git a/cinelerra-5.1/cinelerra/zwindow.C b/cinelerra-5.1/cinelerra/zwindow.C index 6508b9e4..7f6d2800 100644 --- a/cinelerra-5.1/cinelerra/zwindow.C +++ b/cinelerra-5.1/cinelerra/zwindow.C @@ -207,9 +207,10 @@ BC_Window* ZWindow::new_gui() void ZWindow::handle_done_event(int result) { + idx = -1; + stop_playback(1); if( destroy ) mwindow->del_mixer(this); - idx = -1; } void ZWindow::handle_close_event(int result) { @@ -218,12 +219,11 @@ void ZWindow::handle_close_event(int result) void ZWindow::change_source(EDL *edl) { - if( this->edl && edl != this->edl ) + if( this->edl == edl ) return; + zgui->playback_engine->refresh_frame(CHANGE_ALL, edl); + if( this->edl ) this->edl->remove_user(); this->edl = edl; - if( edl != 0 ) { - zgui->playback_engine->refresh_frame(CHANGE_ALL, edl); - } } void ZWindow::stop_playback(int wait)