From: Good Guy Date: Fri, 8 Mar 2019 23:54:21 +0000 (-0700) Subject: fix audio in src_target mode, segv in delete solo vicon X-Git-Tag: 2019-08~88 X-Git-Url: https://git.cinelerra-gg.org/git/?a=commitdiff_plain;h=8c74789f8c257afa7c356156049eaf9047991a0b;p=goodguy%2Fcinelerra.git fix audio in src_target mode, segv in delete solo vicon --- diff --git a/cinelerra-5.1/cinelerra/awindowgui.C b/cinelerra-5.1/cinelerra/awindowgui.C index bd7ec0f1..13e802a8 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.C +++ b/cinelerra-5.1/cinelerra/awindowgui.C @@ -647,9 +647,13 @@ ViewPopup *AssetVIconThread::new_view_window() 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; diff --git a/cinelerra-5.1/guicast/vicon.C b/cinelerra-5.1/guicast/vicon.C index b1535546..9535aa9a 100644 --- a/cinelerra-5.1/guicast/vicon.C +++ b/cinelerra-5.1/guicast/vicon.C @@ -87,6 +87,7 @@ VIcon *VIconThread::low_vicon() 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;