fix prores pix_fmt with hw_dev probe
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mwindowedit.C
index ebcaeb5109457310f75620c2ed57fe1406a90195..6be47c54fd90881330ad5d89393ec74f86d5b7a2 100644 (file)
@@ -1319,7 +1319,8 @@ void MWindow::load_assets(ArrayList<Indexable*> *new_assets,
                load_mode = LOADMODE_ASSETSONLY;
 const int debug = 0;
 if( debug ) printf("MWindow::load_assets %d\n", __LINE__);
-       if( position < 0 ) position = edl->local_session->get_selectionstart();
+       if( position < 0 )
+               position = edl->local_session->get_selectionstart();
 
        ArrayList<EDL*> new_edls;
        for( int i=0; i<new_assets->total; ++i ) {
@@ -1485,6 +1486,9 @@ int MWindow::paste_edls(ArrayList<EDL*> *new_edls, int load_mode,
                                default:
                                        continue;
                                }
+// re-label only if not already labeled
+                               if( new_edl->local_session->asset2edl )
+                                       strcpy(current->title, edl->tracks->last->title);
                                destination_tracks.append(edl->tracks->last);
                        }
 
@@ -1543,7 +1547,10 @@ int MWindow::paste_edls(ArrayList<EDL*> *new_edls, int load_mode,
                switch( load_mode ) {
                case LOADMODE_REPLACE:
                        current_position = 0;
+                       break;
                case LOADMODE_NEW_TRACKS:
+                       if( !overwrite )
+                               current_position = 0;
                        break;
 
                case LOADMODE_CONCATENATE:
@@ -1982,8 +1989,8 @@ void MWindow::redo_entry(BC_WindowBase *calling_window_gui)
        gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 1);
        gui->update_proxy_toggle();
        gui->unlock_window();
-       cwindow->update(1, 1, 1, 1, 1);
        cwindow->gui->unlock_window();
+       cwindow->update(1, 1, 1, 1, 1);
 
        for( int i=0; i < vwindows.size(); ++i ) {
                if( vwindows.get(i)->is_running() ) {
@@ -2257,8 +2264,8 @@ void MWindow::undo_entry(BC_WindowBase *calling_window_gui)
        gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 1);
        gui->update_proxy_toggle();
        gui->unlock_window();
-       cwindow->update(1, 1, 1, 1, 1);
        cwindow->gui->unlock_window();
+       cwindow->update(1, 1, 1, 1, 1);
 
        for( int i=0; i<vwindows.size(); ++i ) {
                if( vwindows.get(i)->is_running() ) {