Commit: 4dd582c84a0adbba7763e3d76fee968b9eb20838
Author: Tianwei Shen
Date:   Tue Jun 28 11:33:04 2016 +0800
Branches: soc-2016-multiview
https://developer.blender.org/rB4dd582c84a0adbba7763e3d76fee968b9eb20838

add (wrong) read/write correspondence

===================================================================

M       source/blender/blenloader/intern/readfile.c
M       source/blender/blenloader/intern/writefile.c

===================================================================

diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 4fc8136..d23b8ba 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -7467,12 +7467,17 @@ static void lib_link_moviePlaneTracks(FileData *fd, 
MovieClip *clip, ListBase *t
        }
 }
 
-static void lib_link_movieCorrespondences(FileData *fd, MovieClip *clip, 
ListBase *tracksbase)
+static void lib_link_movieCorrespondences(FileData *fd, MovieClip *clip, 
ListBase *correspondences)
 {
        MovieTrackingCorrespondence *corr;
 
-       for (corr = tracksbase->first; corr; corr = corr->next) {
+       for (corr = correspondences->first; corr != NULL; corr = corr->next) {
+               corr = newlibadr(fd, clip->id.lib, corr);
 
+               corr->self_track = newlibadr(fd, clip->id.lib, 
corr->self_track);
+               corr->other_track = newlibadr(fd, clip->id.lib, 
corr->other_track);
+               corr->self_clip = newlibadr(fd, clip->id.lib, corr->self_clip);
+               corr->other_clip = newlibadr(fd, clip->id.lib, 
corr->other_clip);
        }
 }
 
@@ -7491,6 +7496,7 @@ static void lib_link_movieclip(FileData *fd, Main *main)
                        
                        lib_link_movieTracks(fd, clip, &tracking->tracks);
                        lib_link_moviePlaneTracks(fd, clip, 
&tracking->plane_tracks);
+                       lib_link_movieCorrespondences(fd, clip, 
&tracking->correspondences);
 
                        for (object = tracking->objects.first; object; object = 
object->next) {
                                lib_link_movieTracks(fd, clip, &object->tracks);
diff --git a/source/blender/blenloader/intern/writefile.c 
b/source/blender/blenloader/intern/writefile.c
index fe97c40..fbb96ef 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -3193,7 +3193,7 @@ static void write_movieCorrespondences(WriteData *wd, 
ListBase *correspondence_b
 {
        MovieTrackingCorrespondence *corr;
        for (corr = correspondence_base->first;
-            corr;
+            corr != NULL;
             corr = corr->next)
        {
                writestruct(wd, DATA, "MovieTrackingCorrespondence", 1, corr);
@@ -3225,6 +3225,7 @@ static void write_movieclips(WriteData *wd, ListBase 
*idbase)
                        write_movieTracks(wd, &tracking->tracks);
                        write_moviePlaneTracks(wd, &tracking->plane_tracks);
                        write_movieReconstruction(wd, 
&tracking->reconstruction);
+                       write_movieCorrespondences(wd, 
&tracking->correspondences);
 
                        object= tracking->objects.first;
                        while (object) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to