From: Good Guy Date: Sat, 29 Dec 2018 01:27:38 +0000 (-0700) Subject: fix drop silence on track segv, dont deselect on drop, set expanders if plugins dropped X-Git-Tag: 2019-08~133 X-Git-Url: https://git.cinelerra-gg.org/git/?a=commitdiff_plain;h=7028b139b11904216808777100c0bac9079f1c8c;p=goodguy%2Fcinelerra.git fix drop silence on track segv, dont deselect on drop, set expanders if plugins dropped --- diff --git a/cinelerra-5.1/cinelerra/mwindowedit.C b/cinelerra-5.1/cinelerra/mwindowedit.C index bf57912f..1ce258fc 100644 --- a/cinelerra-5.1/cinelerra/mwindowedit.C +++ b/cinelerra-5.1/cinelerra/mwindowedit.C @@ -1198,6 +1198,7 @@ void MWindow::move_group(EDL *group, Track *first_track, double position) track->plugin_set[i] = dst_plugin_set; } Plugin *plugin = (Plugin *)plugin_set->first; + if( plugin ) track->expand_view = 1; for( ; plugin; plugin=(Plugin *)plugin->next ) { int64_t start = pos + plugin->startproject; int64_t end = start + plugin->length; @@ -1217,7 +1218,8 @@ void MWindow::move_group(EDL *group, Track *first_track, double position) track->optimize(); src = src->next; } - edl->tracks->clear_selected_edits(); +// big debate over whether to do this, must either clear selected, or no tweaking +// edl->tracks->clear_selected_edits(); save_backup(); undo->update_undo_after(_("move group"), LOAD_ALL); diff --git a/cinelerra-5.1/cinelerra/trackcanvas.C b/cinelerra-5.1/cinelerra/trackcanvas.C index 72c9d009..3d152c71 100644 --- a/cinelerra-5.1/cinelerra/trackcanvas.C +++ b/cinelerra-5.1/cinelerra/trackcanvas.C @@ -5040,11 +5040,11 @@ int TrackCanvas::do_plugins(int cursor_x, int cursor_y, int drag_start, } else // Move plugin - if(drag_start && plugin->track->record) { - if(mwindow->edl->session->editing_mode == EDITING_ARROW) { - if(plugin->track->data_type == TRACK_AUDIO) + if( drag_start && plugin->track->record && !plugin->silence() ) { + if( mwindow->edl->session->editing_mode == EDITING_ARROW ) { + if( plugin->track->data_type == TRACK_AUDIO ) mwindow->session->current_operation = DRAG_AEFFECT_COPY; - else if(plugin->track->data_type == TRACK_VIDEO) + else if( plugin->track->data_type == TRACK_VIDEO ) mwindow->session->current_operation = DRAG_VEFFECT_COPY; mwindow->session->drag_plugin = plugin;