[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43021] trunk/blender/source/blender/ editors/space_view3d/view3d_snap.c: fix [#29735] Blender crashes with ACCESS_VIOLATION when snapping cursor to camera

Campbell Barton ideasman42 at gmail.com
Sat Dec 31 04:45:41 CET 2011


Revision: 43021
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43021
Author:   campbellbarton
Date:     2011-12-31 03:45:31 +0000 (Sat, 31 Dec 2011)
Log Message:
-----------
fix [#29735] Blender crashes with ACCESS_VIOLATION when snapping cursor to camera

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_snap.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_snap.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_snap.c	2011-12-31 03:34:44 UTC (rev 43020)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_snap.c	2011-12-31 03:45:31 UTC (rev 43021)
@@ -758,16 +758,17 @@
 static void bundle_midpoint(Scene *scene, Object *ob, float vec[3])
 {
 	MovieClip *clip= object_get_movieclip(scene, ob, 0);
-	MovieTracking *tracking= &clip->tracking;
-	MovieTrackingObject *object= tracking->objects.first;
+	MovieTracking *tracking;
+	MovieTrackingObject *object;
 	int ok= 0;
-	float min[3], max[3], mat[4][4], pos[3], cammat[4][4];
+	float min[3], max[3], mat[4][4], pos[3], cammat[4][4] = MAT4_UNITY;
 
 	if(!clip)
 		return;
 
-	unit_m4(cammat);
+	tracking= &clip->tracking;
 
+	/* XXX - seems like an unneeded side effect, snapping should _not_ set the active camera for eg. - campbell */
 	if(!scene->camera)
 		scene->camera= scene_find_camera(scene);
 
@@ -778,7 +779,7 @@
 
 	INIT_MINMAX(min, max);
 
-	while(object) {
+	for (object= tracking->objects.first; object; object= object->next) {
 		ListBase *tracksbase= BKE_tracking_object_tracks(tracking, object);
 		MovieTrackingTrack *track= tracksbase->first;
 		float obmat[4][4];
@@ -804,8 +805,6 @@
 
 			track= track->next;
 		}
-
-		object= object->next;
 	}
 
 	if(ok) {




More information about the Bf-blender-cvs mailing list