[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42384] branches/soc-2011-tomato/source/ blender/blenkernel/intern/tracking.c: Fix a segfault in the tracker caused by attempting a one-frame track after the active tracker has become disabled .

Keir Mierle mierle at gmail.com
Sun Dec 4 05:51:38 CET 2011


Revision: 42384
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42384
Author:   keir
Date:     2011-12-04 04:51:30 +0000 (Sun, 04 Dec 2011)
Log Message:
-----------
Fix a segfault in the tracker caused by attempting a one-frame track after the active tracker has become disabled.

Modified Paths:
--------------
    branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c	2011-12-04 04:33:06 UTC (rev 42383)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c	2011-12-04 04:51:30 UTC (rev 42384)
@@ -766,11 +766,13 @@
 		track= track->next;
 	}
 
+	/* add a context even if there are no tracks, since this is needed if the user tries to track
+	 * on a frame where their tracker is disabled. */
+	context->tracks_map= tracks_map_new(num_tracks, sizeof(TrackContext));
+
 	if(num_tracks) {
 		int width, height;
 
-		context->tracks_map= tracks_map_new(num_tracks, sizeof(TrackContext));
-
 		BKE_movieclip_get_size(clip, user, &width, &height);
 
 		/* create tracking data */
@@ -1133,7 +1135,7 @@
 
 	map_size= tracks_map_size(context->tracks_map);
 
-	/* nothing to track, avoid unneeded frames reading to save time and memory */
+	/* nothing to track, avoid reading unneeded frames to save time and memory */
 	if(!map_size)
 		return 0;
 




More information about the Bf-blender-cvs mailing list