Merging r42770 through r42799 from trunk into soc-2011-tomato
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 21 Dec 2011 14:50:05 +0000 (14:50 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 21 Dec 2011 14:50:05 +0000 (14:50 +0000)
1  2 
source/blender/blenkernel/intern/movieclip.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/object/object_intern.h
source/blender/editors/object/object_ops.c

index 8c96e4fa3772a1b1a3bd98f1b4d502af60eec43b,bf40a3e73b3c6785786c5f46e418af5c7a75f161..0e4d365305f0d56335045a6bffd16e50d7911e6f
@@@ -12754,41 -12737,8 +12758,43 @@@ static void do_versions(FileData *fd, L
                }
                {
                        MovieClip *clip;
 -                      for(clip= main->movieclip.first; clip; clip= clip->id.next) {
 +                      Object *ob;
 +
 +                      for (clip= main->movieclip.first; clip; clip= clip->id.next) {
 +                              MovieTracking *tracking= &clip->tracking;
 +                              MovieTrackingObject *tracking_object= tracking->objects.first;
 +
+                               clip->proxy.build_tc_flag|= IMB_TC_RECORD_RUN_NO_GAPS;
++
 +                              if(!tracking->settings.object_distance)
 +                                      tracking->settings.object_distance= 1.0f;
 +
 +                              if(tracking->objects.first == NULL)
 +                                      BKE_tracking_new_object(tracking, "Camera");
 +
 +                              while(tracking_object) {
 +                                      if(!tracking_object->scale)
 +                                              tracking_object->scale= 1.0f;
 +
 +                                      tracking_object= tracking_object->next;
 +                              }
 +                      }
 +
 +                      for (ob= main->object.first; ob; ob= ob->id.next) {
 +                              bConstraint *con;
 +                              for (con= ob->constraints.first; con; con=con->next) {
 +                                      bConstraintTypeInfo *cti= constraint_get_typeinfo(con);
 +
 +                                      if(!cti)
 +                                              continue;
 +
 +                                      if(cti->type==CONSTRAINT_TYPE_OBJECTSOLVER) {
 +                                              bObjectSolverConstraint *data= (bObjectSolverConstraint *)con->data;
 +
 +                                              if(data->invmat[3][3]==0.0f)
 +                                                      unit_m4(data->invmat);
 +                                      }
 +                              }
                        }
                }
        }