X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fmwindowedit.C;h=b7fcd9dda0ca1262aa0228c246b2b1bedd9b7b34;hb=564227981f9c1b021445fa0352b75c7670172912;hp=84232955d9aa2bd44bc37325f03884e7177d2bba;hpb=4ed99d3ff21fc5809ff2a2927f6d99413f80a168;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mwindowedit.C b/cinelerra-5.1/cinelerra/mwindowedit.C index 84232955..b7fcd9dd 100644 --- a/cinelerra-5.1/cinelerra/mwindowedit.C +++ b/cinelerra-5.1/cinelerra/mwindowedit.C @@ -74,6 +74,7 @@ #include "vwindow.h" #include "vwindowgui.h" #include "zoombar.h" +#include "zwindow.h" #include "automation.h" #include "maskautos.h" @@ -1874,8 +1875,9 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui) { calling_window_gui->unlock_window(); stop_playback(0); + close_mixers(); - cwindow->gui->lock_window("MWindow::redo_entry"); + cwindow->gui->lock_window("MWindow::redo_entry 1"); for( int i = 0; i < vwindows.size(); i++ ) { if( vwindows.get(i)->is_running() ) { if( calling_window_gui != vwindows.get(i)->gui ) { @@ -1883,23 +1885,19 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui) } } } - gui->lock_window(); + gui->lock_window("MWindow::redo_entry 3"); undo->redo(); save_backup(); + restart_brender(); update_plugin_states(); update_plugin_guis(); - awindow->gui->async_update_assets(); - restart_brender(); + gui->update(1, 2, 1, 1, 1, 1, 1); + gui->unlock_window(); cwindow->update(1, 1, 1, 1, 1); - - if( calling_window_gui != cwindow->gui ) - cwindow->gui->unlock_window(); - if( calling_window_gui != gui ) - gui->unlock_window(); - + cwindow->gui->unlock_window(); for( int i = 0; i < vwindows.size(); i++ ) { if( vwindows.get(i)->is_running() ) { @@ -1909,7 +1907,14 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui) } } + if( calling_window_gui != gui ) + gui->unlock_window(); + + open_mixers(); + awindow->gui->async_update_assets(); + cwindow->refresh_frame(CHANGE_ALL); + calling_window_gui->lock_window("MWindow::redo_entry 4"); } @@ -2160,6 +2165,7 @@ void MWindow::undo_entry(BC_WindowBase *calling_window_gui) { calling_window_gui->unlock_window(); stop_playback(0); + close_mixers(); cwindow->gui->lock_window("MWindow::undo_entry 1"); for( int i = 0; i < vwindows.size(); i++ ) { @@ -2196,6 +2202,7 @@ void MWindow::undo_entry(BC_WindowBase *calling_window_gui) awindow->gui->async_update_assets(); + open_mixers(); cwindow->refresh_frame(CHANGE_ALL); calling_window_gui->lock_window("MWindow::undo_entry 4"); }