fix audio in src_target mode, segv in delete solo vicon
authorGood Guy <good1.2guy@gmail.com>
Fri, 8 Mar 2019 23:54:21 +0000 (16:54 -0700)
committerGood Guy <good1.2guy@gmail.com>
Fri, 8 Mar 2019 23:54:21 +0000 (16:54 -0700)
cinelerra-5.1/cinelerra/awindowgui.C
cinelerra-5.1/guicast/vicon.C

index bd7ec0f198b932205651c3d58a2f7021f4d7e62f..13e802a8f0f7430fe6c3121acb97bb3be6cded17 100644 (file)
@@ -647,9 +647,13 @@ ViewPopup *AssetVIconThread::new_view_window()
                vicon->playing_audio = -1;
                break;
        case ASSET_VIEW_MEDIA:
                vicon->playing_audio = -1;
                break;
        case ASSET_VIEW_MEDIA:
-               vicon->playing_audio = 1;
-               vicon->start_audio();
-               break;
+               switch( gui->vicon_drawing ) {
+               case AVICON_FULL_PLAY:
+               case AVICON_MOUSE_OVER:
+                       vicon->playing_audio = 1;
+                       vicon->start_audio();
+                       break;
+               }
        }
        wdw->set_active_subwindow(popup);
        return popup;
        }
        wdw->set_active_subwindow(popup);
        return popup;
index b1535546778f7a7d73e06259e2f5e91cc968c19d..9535aa9ab21af7bc5c0ec115d16f3ebe0076d107 100644 (file)
@@ -87,6 +87,7 @@ VIcon *VIconThread::low_vicon()
 
 void VIconThread::remove_vicon(int i)
 {
 
 void VIconThread::remove_vicon(int i)
 {
+       if( t_heap[i] == solo ) solo = 0;
        int sz = t_heap.size();
        for( int k; (k=2*(i+1)) < sz; i=k ) {
                if( t_heap[k]->age > t_heap[k-1]->age ) --k;
        int sz = t_heap.size();
        for( int k; (k=2*(i+1)) < sz; i=k ) {
                if( t_heap[k]->age > t_heap[k-1]->age ) --k;