X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.C;h=d14f228c14754e29d1f26826bbd824636d5f3d9f;hb=8f0d97d1da0cd4cfcacf76c2c1788204749b6757;hp=9ab96a9ed97e5ba7277b3456244d45a333201338;hpb=74afbc29ac4ce9d94d53e10342979f2c59f1f193;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 9ab96a9e..d14f228c 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -1556,6 +1556,7 @@ void MWindow::restart_brender() void MWindow::stop_brender() { if( !brender ) return; +// cannot be holding mwindow->gui display lock brender->stop(); } @@ -1598,7 +1599,9 @@ void MWindow::set_brender_active(int v, int update) } else { edl->session->brender_start = edl->session->brender_end = 0; + gui->unlock_window(); stop_brender(); + gui->lock_window("MWindow::set_brender_active"); } if( update ) { gui->update_timebar(0); @@ -3237,7 +3240,6 @@ void MWindow::update_project(int load_mode) const int debug = 0; if(debug) PRINT_TRACE - init_brender(); edl->tracks->update_y_pixels(theme); if(debug) PRINT_TRACE @@ -3251,6 +3253,7 @@ void MWindow::update_project(int load_mode) gui->update(1, 1, 1, 1, 1, 1, 1); if(debug) PRINT_TRACE gui->unlock_window(); + init_brender(); cwindow->gui->lock_window("MWindow::update_project 1"); cwindow->update(0, 0, 1, 1, 1); @@ -3277,6 +3280,10 @@ void MWindow::update_project(int load_mode) if( !vwindow->is_running() ) continue; vwindow->close_window(); } + for( int i=0; ivwindow_edls.size(); ++i ) { + VWindow *vwindow = get_viewer(1, -1); + vwindow->change_source(i); + } if(debug) PRINT_TRACE select_zwindow(0); close_mixers();