From d65350015237a257c57421772e84c878d84314b2 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 26 Sep 2014 14:49:06 +0600 Subject: [PATCH] Tracking: Some minor improvements to copy-paste - Deselect all existing tracks when pasteing, makes it easier to tweak stuff after the paste. - Make first of the pasted tracks active. --- source/blender/blenkernel/intern/tracking.c | 3 +++ source/blender/editors/space_clip/tracking_ops.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index 487b19b6d21..40d9dc0d7e0 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -371,6 +371,9 @@ void BKE_tracking_clipboard_paste_tracks(MovieTracking *tracking, MovieTrackingO while (track) { MovieTrackingTrack *new_track = BKE_tracking_track_duplicate(track); + if (track->prev == NULL) { + tracking->act_track = new_track; + } BLI_addtail(tracksbase, new_track); BKE_tracking_track_unique_name(tracksbase, new_track); diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c index abbffcd8546..fb6b1a0033c 100644 --- a/source/blender/editors/space_clip/tracking_ops.c +++ b/source/blender/editors/space_clip/tracking_ops.c @@ -3811,7 +3811,9 @@ static int paste_tracks_exec(bContext *C, wmOperator *UNUSED(op)) MovieClip *clip = ED_space_clip_get_clip(sc); MovieTracking *tracking = &clip->tracking; MovieTrackingObject *object = BKE_tracking_object_get_active(tracking); + ListBase *tracks_base = BKE_tracking_object_get_tracks(tracking, object); + BKE_tracking_tracks_deselect_all(tracks_base); BKE_tracking_clipboard_paste_tracks(tracking, object); WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, clip);