Merging trunk up to rev 40959
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 12 Oct 2011 16:28:42 +0000 (16:28 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 12 Oct 2011 16:28:42 +0000 (16:28 +0000)
1  2 
source/blender/blenloader/intern/readfile.c
source/blender/editors/gpencil/drawgpencil.c
source/blender/editors/interface/interface_handlers.c
source/blender/imbuf/intern/indexer.c
source/blender/makesrna/intern/rna_ID.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/windowmanager/intern/wm_operators.c

@@@ -12285,60 -12158,24 +12298,79 @@@ static void do_versions(FileData *fd, L
  
        /* put compatibility code here until next subversion bump */
        {
+               {
+                       /* set default alpha value of Image outputs in image and render layer nodes to 0 */
+                       Scene *sce;
+                       bNodeTree *ntree;
+                       
+                       for (sce=main->scene.first; sce; sce=sce->id.next) {
+                               /* there are files with invalid audio_channels value, the real cause
+                                  is unknown, but we fix it here anyway to avoid crashes */
+                               if(sce->r.ffcodecdata.audio_channels == 0)
+                                       sce->r.ffcodecdata.audio_channels = 2;
+                               if (sce->nodetree)
+                                       do_versions_nodetree_image_default_alpha_output(sce->nodetree);
+                       }
+                       for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next)
+                               do_versions_nodetree_image_default_alpha_output(ntree);
+               }
++
 +              {
 +                      bScreen *sc;
 +                      Camera *cam;
 +                      MovieClip *clip;
 +
 +                      for (sc= main->screen.first; sc; sc= sc->id.next) {
 +                              ScrArea *sa;
 +                              for (sa= sc->areabase.first; sa; sa= sa->next) {
 +                                      SpaceLink *sl;
 +                                      for (sl= sa->spacedata.first; sl; sl= sl->next) {
 +                                              if(sl->spacetype==SPACE_VIEW3D) {
 +                                                      View3D *v3d= (View3D *)sl;
 +                                                      if(v3d->bundle_size==0.0f) {
 +                                                              v3d->bundle_size= 0.1f;
 +                                                              v3d->flag2 |= V3D_SHOW_RECONSTRUCTION;
 +                                                      }
 +
 +                                                      if(v3d->bundle_drawtype==0)
 +                                                              v3d->bundle_drawtype= OB_EMPTY_SPHERE;
 +                                              }
 +                                              else if(sl->spacetype==SPACE_CLIP) {
 +                                                      SpaceClip *sc= (SpaceClip *)sl;
 +                                                      if(sc->scopes.track_preview_height==0)
 +                                                              sc->scopes.track_preview_height= 120;
 +                                              }
 +                                      }
 +                              }
 +
 +                      }
 +
 +                      for(cam= main->camera.first; cam; cam= cam->id.next) {
 +                              if (cam->sensor_x < 0.01) {
 +                                      cam->sensor_x = 32.f;
 +                              }
 +                      }
 +
 +                      for (clip= main->movieclip.first; clip; clip= clip->id.next) {
 +                              if(clip->aspx<1.0f) {
 +                                      clip->aspx= 1.0f;
 +                                      clip->aspy= 1.0f;
 +                              }
 +
 +                              /* XXX: a bit hacky, probably include imbuf and use real constants are nicer */
 +                              clip->proxy.build_tc_flag= 7;
 +                              if(clip->proxy.build_size_flag==0)
 +                                      clip->proxy.build_size_flag= 1;
 +
 +                              if(clip->proxy.quality==0)
 +                                      clip->proxy.quality= 90;
 +
 +                              if(clip->tracking.camera.pixel_aspect<0.01f)
 +                                      clip->tracking.camera.pixel_aspect= 1.f;
 +                      }
 +              }
        }
  
        /* WATCH IT!!!: pointers from libdata have not been converted yet here! */
Simple merge