projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
xfer parallel build, reload vwindow, snap/grab fixes, shader memeory leak
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
mwindow.C
diff --git
a/cinelerra-5.1/cinelerra/mwindow.C
b/cinelerra-5.1/cinelerra/mwindow.C
index 9ab96a9ed97e5ba7277b3456244d45a333201338..d14f228c14754e29d1f26826bbd824636d5f3d9f 100644
(file)
--- 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;
void MWindow::stop_brender()
{
if( !brender ) return;
+// cannot be holding mwindow->gui display lock
brender->stop();
}
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;
}
else {
edl->session->brender_start = edl->session->brender_end = 0;
+ gui->unlock_window();
stop_brender();
stop_brender();
+ gui->lock_window("MWindow::set_brender_active");
}
if( update ) {
gui->update_timebar(0);
}
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
const int debug = 0;
if(debug) PRINT_TRACE
- init_brender();
edl->tracks->update_y_pixels(theme);
if(debug) PRINT_TRACE
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();
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);
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();
}
if( !vwindow->is_running() ) continue;
vwindow->close_window();
}
+ for( int i=0; i<edl->vwindow_edls.size(); ++i ) {
+ VWindow *vwindow = get_viewer(1, -1);
+ vwindow->change_source(i);
+ }
if(debug) PRINT_TRACE
select_zwindow(0);
close_mixers();
if(debug) PRINT_TRACE
select_zwindow(0);
close_mixers();