X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainundo.C;h=5b0a70bd2ec77e9b3d584a9fe8a617f743f928f5;hp=dd06f3cd7352227394ce0f7f3a3ea99422e2633d;hb=ddfda6a8cc59bda4dc734973c1c5fecaa31ea487;hpb=d3136bf5076921bddf85277f619eeffcf8eb3009 diff --git a/cinelerra-5.1/cinelerra/mainundo.C b/cinelerra-5.1/cinelerra/mainundo.C index dd06f3cd..5b0a70bd 100644 --- a/cinelerra-5.1/cinelerra/mainundo.C +++ b/cinelerra-5.1/cinelerra/mainundo.C @@ -187,7 +187,9 @@ int MainUndo::redo_load_flags() int MainUndo::undo() { + mwindow->gui->close_keyvalue_popup(); mwindow->undo_commercial(); + UndoStackItem *current = undo_stack->current; if( current ) { undo_stack->current = next_undo(); @@ -196,11 +198,9 @@ int MainUndo::undo() } if( current ) { // Set the redo text to the current description - if( mwindow->gui ) { - UndoStackItem *next = NEXT; - mwindow->gui->mainmenu->redo-> - update_caption(next ? next->get_description() : ""); - } + UndoStackItem *next = NEXT; + mwindow->gui->mainmenu->redo-> + update_caption(next ? next->get_description() : ""); char *current_data = current->get_data(); if( current_data ) { FileXML file; @@ -217,14 +217,14 @@ int MainUndo::undo() } } + mwindow->reset_caches(1); reset_creators(); - mwindow->reset_caches(); return 0; } - int MainUndo::redo() { + mwindow->gui->close_keyvalue_popup(); UndoStackItem *current = next_redo(); if( current ) { undo_stack->current = current; @@ -244,8 +244,8 @@ int MainUndo::redo() update_caption(current ? current->get_description() : ""); } } + mwindow->reset_caches(1); reset_creators(); - mwindow->reset_caches(); //dump(); return 0; } @@ -254,9 +254,7 @@ int MainUndo::redo() // Here the master EDL loads int MainUndo::load_from_undo(FileXML *file, uint32_t load_flags) { - delete mwindow->gui->keyvalue_popup; - mwindow->gui->keyvalue_popup = 0; - + mwindow->hide_plugins(); if( load_flags & LOAD_SESSION ) { mwindow->gui->unlock_window(); mwindow->close_mixers();