[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46668] branches/soc-2011-tomato/source/ blender/editors/space_clip/tracking_ops.c: Tomato: fixes for marker sliding operator

Sergey Sharybin sergey.vfx at gmail.com
Tue May 15 17:05:45 CEST 2012


Revision: 46668
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46668
Author:   nazgul
Date:     2012-05-15 15:05:45 +0000 (Tue, 15 May 2012)
Log Message:
-----------
Tomato: fixes for marker sliding operator

- Fixed crash on slide undo. Was caused by some typos in slide
  data initialization and not checking for slide action in
  cancel callback
- Always create keyframe for frame when marker is stared sliding.

Modified Paths:
--------------
    branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c

Modified: branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c	2012-05-15 15:02:02 UTC (rev 46667)
+++ branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c	2012-05-15 15:05:45 UTC (rev 46668)
@@ -315,7 +315,7 @@
 	}
 
 	if ((area == TRACK_AREA_SEARCH) ||
-		(area == TRACK_AREA_PAT && !ELEM(action, SLIDE_ACTION_OFFSET, SLIDE_ACTION_POS)))
+		(area == TRACK_AREA_PAT && action != SLIDE_ACTION_OFFSET))
 	{
 		if (data->corners) {
 			memcpy(data->scorners, data->corners, sizeof(data->scorners));
@@ -591,7 +591,9 @@
 			copy_v2_v2(data->pos, data->spos);
 	}
 	else {
-		if (data->action == SLIDE_ACTION_SIZE) {
+		if ((data->action == SLIDE_ACTION_SIZE) ||
+		    (data->action == SLIDE_ACTION_POS && data->area == TRACK_AREA_PAT))
+		{
 			if (data->corners) {
 				memcpy(data->corners, data->scorners, sizeof(data->scorners));
 			}
@@ -663,8 +665,6 @@
 				else {
 					data->pos[0] = data->spos[0] + dx;
 					data->pos[1] = data->spos[1] + dy;
-
-					data->marker->flag &= ~MARKER_TRACKED;
 				}
 
 				WM_event_add_notifier(C, NC_OBJECT | ND_TRANSFORM, NULL);
@@ -734,6 +734,8 @@
 				}
 			}
 
+			data->marker->flag &= ~MARKER_TRACKED;
+
 			WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, NULL);
 
 			break;




More information about the Bf-blender-cvs mailing list