add new tracks as master, update msg txt
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mainmenu.C
index f616d26a12819b6bf650ddf79c4ae2c06949d457..de902545f4d2a9c6977469b021287effe5b55233 100644 (file)
@@ -1158,7 +1158,7 @@ AddVideoTrack::AddVideoTrack(MWindow *mwindow)
 int AddVideoTrack::handle_event()
 {
        if( mwindow->session->current_operation == NO_OPERATION )
-               mwindow->add_video_track_entry();
+               mwindow->add_video_track_entry(1, 0);
        return 1;
 }
 
@@ -1341,7 +1341,7 @@ AddSubttlTrack::AddSubttlTrack(MWindow *mwindow)
 int AddSubttlTrack::handle_event()
 {
        if( mwindow->session->current_operation == NO_OPERATION )
-               mwindow->add_subttl_track_entry();
+               mwindow->add_subttl_track_entry(1, 0);
        return 1;
 }
 
@@ -1509,7 +1509,9 @@ ShowVWindow::ShowVWindow(MWindow *mwindow)
 }
 int ShowVWindow::handle_event()
 {
+       mwindow->gui->unlock_window();
        mwindow->show_vwindow();
+       mwindow->gui->lock_window("ShowVWindow::handle_event");
        return 1;
 }
 
@@ -1521,7 +1523,9 @@ ShowAWindow::ShowAWindow(MWindow *mwindow)
 }
 int ShowAWindow::handle_event()
 {
+       mwindow->gui->unlock_window();
        mwindow->show_awindow();
+       mwindow->gui->lock_window("ShowAWindow::handle_event");
        return 1;
 }
 
@@ -1533,7 +1537,9 @@ ShowCWindow::ShowCWindow(MWindow *mwindow)
 }
 int ShowCWindow::handle_event()
 {
+       mwindow->gui->unlock_window();
        mwindow->show_cwindow();
+       mwindow->gui->lock_window("ShowCWindow::handle_event");
        return 1;
 }
 
@@ -1548,10 +1554,12 @@ ShowGWindow::ShowGWindow(MWindow *mwindow)
 int ShowGWindow::handle_event()
 {
        if( mwindow->session->current_operation == NO_OPERATION ) {
+               mwindow->gui->unlock_window();
                if( !mwindow->session->show_gwindow )
                        mwindow->show_gwindow();
                else
                        mwindow->hide_gwindow();
+               mwindow->gui->lock_window("ShowGWindow::handle_event");
                set_checked(mwindow->session->show_gwindow);
        }
        return 1;
@@ -1566,7 +1574,9 @@ ShowLWindow::ShowLWindow(MWindow *mwindow)
 }
 int ShowLWindow::handle_event()
 {
+       mwindow->gui->unlock_window();
        mwindow->show_lwindow();
+       mwindow->gui->lock_window("ShowLWindow::handle_event");
        return 1;
 }
 
@@ -1674,7 +1684,9 @@ int MixerItem::handle_event()
        MWindow *mwindow = mixer_items->mwindow;
        Mixer *mixer = mwindow->edl->mixers.get_mixer(idx);
        if( !mixer ) return 0;
-        ZWindow *zwindow = mwindow->get_mixer(mixer);
+       ZWindow *zwindow = mwindow->get_mixer(idx);
+       if( !zwindow )
+               zwindow = mwindow->get_mixer(mixer);
        if( !zwindow->zgui ) {
                zwindow->set_title(mixer->title);
                zwindow->start();