[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49572] trunk/blender/source/blender/ compositor/operations/COM_KeyingScreenOperation.cpp: Fix for keying screen incorrect memory write when some of tracks are disabled .

Sergey Sharybin sergey.vfx at gmail.com
Sun Aug 5 11:31:49 CEST 2012


Revision: 49572
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49572
Author:   nazgul
Date:     2012-08-05 09:31:48 +0000 (Sun, 05 Aug 2012)
Log Message:
-----------
Fix for keying screen incorrect memory write when some of tracks are disabled.

Modified Paths:
--------------
    trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp

Modified: trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp	2012-08-05 07:50:51 UTC (rev 49571)
+++ trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp	2012-08-05 09:31:48 UTC (rev 49572)
@@ -78,7 +78,7 @@
 	TriangulationData *triangulation;
 	MovieTracking *tracking = &this->m_movieClip->tracking;
 	MovieTrackingTrack *track;
-	VoronoiSite *sites;
+	VoronoiSite *sites, *site;
 	ImBuf *ibuf;
 	ListBase *tracksbase;
 	ListBase edges = {NULL, NULL};
@@ -131,9 +131,8 @@
 
 	sites = (VoronoiSite *) MEM_callocN(sizeof(VoronoiSite) * sites_total, "keyingscreen voronoi sites");
 	track = (MovieTrackingTrack *) tracksbase->first;
-	for (track = (MovieTrackingTrack *) tracksbase->first, i = 0; track; track = track->next, i++) {
+	for (track = (MovieTrackingTrack *) tracksbase->first, site = sites; track; track = track->next) {
 		MovieTrackingMarker *marker = BKE_tracking_marker_get(track, clip_frame);
-		VoronoiSite *site;
 		ImBuf *pattern_ibuf;
 		int j;
 		float pos[2];
@@ -149,8 +148,6 @@
 			continue;
 		}
 
-		site = &sites[i];
-
 		pattern_ibuf = BKE_tracking_get_pattern_imbuf(ibuf, track, marker, TRUE, FALSE);
 
 		zero_v3(site->color);
@@ -172,6 +169,8 @@
 
 		site->co[0] = pos[0] * width;
 		site->co[1] = pos[1] * height;
+
+		site++;
 	}
 
 	IMB_freeImBuf(ibuf);




More information about the Bf-blender-cvs mailing list