fix drop silence on track segv, dont deselect on drop, set expanders if plugins dropped
authorGood Guy <good1.2guy@gmail.com>
Sat, 29 Dec 2018 01:27:38 +0000 (18:27 -0700)
committerGood Guy <good1.2guy@gmail.com>
Sat, 29 Dec 2018 01:27:38 +0000 (18:27 -0700)
cinelerra-5.1/cinelerra/mwindowedit.C
cinelerra-5.1/cinelerra/trackcanvas.C

index bf57912..1ce258f 100644 (file)
@@ -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);
index 72c9d00..3d152c7 100644 (file)
@@ -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;