From ca382a8d2a5093d139859f39e26337f92b94d151 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sun, 5 Aug 2012 09:31:48 +0000 Subject: Fix for keying screen incorrect memory write when some of tracks are disabled. --- .../blender/compositor/operations/COM_KeyingScreenOperation.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'source/blender/compositor') diff --git a/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp b/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp index 33bdd892fe8..050aa3391d5 100644 --- a/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp +++ b/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp @@ -78,7 +78,7 @@ KeyingScreenOperation::TriangulationData *KeyingScreenOperation::buildVoronoiTri 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 @@ KeyingScreenOperation::TriangulationData *KeyingScreenOperation::buildVoronoiTri 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 @@ KeyingScreenOperation::TriangulationData *KeyingScreenOperation::buildVoronoiTri continue; } - site = &sites[i]; - pattern_ibuf = BKE_tracking_get_pattern_imbuf(ibuf, track, marker, TRUE, FALSE); zero_v3(site->color); @@ -172,6 +169,8 @@ KeyingScreenOperation::TriangulationData *KeyingScreenOperation::buildVoronoiTri site->co[0] = pos[0] * width; site->co[1] = pos[1] * height; + + site++; } IMB_freeImBuf(ibuf); -- cgit v1.2.3