RafaMar + programmer friend Help button in Batch Render addition
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mainundo.C
index dd06f3cd7352227394ce0f7f3a3ea99422e2633d..5b0a70bd2ec77e9b3d584a9fe8a617f743f928f5 100644 (file)
@@ -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();