X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.C;h=d563ca69d803faf141387cfd11323fb18c06343c;hb=017728ea68874203d45b3f16050626d540608e35;hp=66b37fa922be50e2c4c168ad7422fe9f7d262c19;hpb=aa9374b902768107ebda0cffe739325ffed372f6;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 66b37fa9..d563ca69 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -1182,8 +1182,12 @@ ZWindow *MWindow::get_mixer(Mixer *&mixer) zwindows_lock->lock("MWindow::get_mixer"); if( !mixer ) mixer = edl->mixers.new_mixer(); ZWindow *zwindow = 0; - for( int i=0; !zwindow && iidx < 0 ) zwindow = zwindows[i]; + for( int i=0; !zwindow && irunning() ) continue; + if( zwdw->idx >= 0 ) continue; + zwindow = zwindows[i]; + } if( !zwindow ) zwindows.append(zwindow = new ZWindow(this)); zwindow->idx = mixer->idx; @@ -1313,6 +1317,7 @@ void MWindow::close_mixers(int destroy) for( int i=zwindows.size(); --i>=0; ) { ZWindow *zwindow = zwindows[i]; if( zwindow->idx < 0 ) continue; + zwindow->idx = -1; zwindow->destroy = destroy; ZWindowGUI *zgui = zwindow->zgui; zgui->lock_window("MWindow::select_zwindow 0"); @@ -2194,6 +2199,8 @@ if(debug) printf("MWindow::load_filenames %d\n", __LINE__); edl->local_session->loop_playback = 0; edl->local_session->set_selectionstart(0); edl->local_session->set_selectionend(0); + edl->local_session->unset_inpoint(); + edl->local_session-> unset_outpoint(); set_brender_active(0, 0); fit_selection(); goto_start(); @@ -3622,9 +3629,7 @@ void MWindow::update_project(int load_mode) gui->unlock_window(); init_brender(); - cwindow->gui->lock_window("MWindow::update_project 1"); cwindow->update(0, 0, 1, 1, 1); - cwindow->gui->unlock_window(); if(debug) PRINT_TRACE