[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57156] trunk/blender/source/blender/ blenkernel/intern/tracking.c: Fix #35581: Crash when using Track Refine

Sergey Sharybin sergey.vfx at gmail.com
Fri May 31 12:17:30 CEST 2013


Revision: 57156
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57156
Author:   nazgul
Date:     2013-05-31 10:17:29 +0000 (Fri, 31 May 2013)
Log Message:
-----------
Fix #35581: Crash when using Track Refine

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/tracking.c

Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c	2013-05-31 09:55:34 UTC (rev 57155)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c	2013-05-31 10:17:29 UTC (rev 57156)
@@ -2455,6 +2455,10 @@
 	int keyed_framenr;
 
 	marker_keyed = tracking_context_get_keyframed_marker(track, curfra, backwards);
+	if (marker_keyed == NULL) {
+		return NULL;
+	}
+
 	keyed_framenr = marker_keyed->framenr;
 
 	*marker_keyed_r = marker_keyed;
@@ -2816,9 +2820,15 @@
 	reference_framenr = backwards ? marker->framenr + 1 : marker->framenr - 1;
 	reference_ibuf = tracking_context_get_reference_ibuf(clip, &user, clip_flag, track, reference_framenr,
 	                                                     backwards, &reference_marker);
-	if (reference_ibuf == NULL)
+	if (reference_ibuf == NULL) {
 		return;
+	}
 
+	/* Could not refine with self. */
+	if (reference_marker == marker) {
+		return;
+	}
+
 	/* Destination image buffer has got frame number corresponding to refining marker. */
 	destination_ibuf = BKE_movieclip_get_ibuf_flag(clip, &user, clip_flag, MOVIECLIP_CACHE_SKIP);
 	if (destination_ibuf == NULL) {




More information about the Bf-blender-cvs mailing list