Commit: 61aea37d3597e3755e7df1f5f38e368c42803fe4
Author: Bastien Montagne
Date:   Sat Mar 26 16:22:17 2016 +0100
Branches: blender-v2.77-release
https://developer.blender.org/rB61aea37d3597e3755e7df1f5f38e368c42803fe4

Fix T47951: UserId problem on reload.

readfile.c would increment object usercount in three places, where it should 
not.
Remember kids: Objects are **only** refcounted by Scene's bases, and 
Object->proxy!

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

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

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

diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 393d582..82efc74 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -3309,7 +3309,7 @@ static void lib_link_camera(FileData *fd, Main *main)
                        
                        ca->ipo = newlibadr_us(fd, ca->id.lib, ca->ipo); // XXX 
deprecated - old animation system
                        
-                       ca->dof_ob = newlibadr_us(fd, ca->id.lib, ca->dof_ob);
+                       ca->dof_ob = newlibadr(fd, ca->id.lib, ca->dof_ob);
                        
                        ca->id.tag &= ~LIB_TAG_NEED_LINK;
                }
@@ -4012,7 +4012,7 @@ static void lib_link_partdeflect(FileData *fd, ID *id, 
PartDeflect *pd)
        if (pd && pd->tex)
                pd->tex = newlibadr_us(fd, id->lib, pd->tex);
        if (pd && pd->f_source)
-               pd->f_source = newlibadr_us(fd, id->lib, pd->f_source);
+               pd->f_source = newlibadr(fd, id->lib, pd->f_source);
 }
 
 static void lib_link_particlesettings(FileData *fd, Main *main)
@@ -5578,7 +5578,7 @@ static void lib_link_scene(FileData *fd, Main *main)
 
                        if (sce->toolsettings->sculpt)
                                sce->toolsettings->sculpt->gravity_object =
-                                               newlibadr_us(fd, sce->id.lib, 
sce->toolsettings->sculpt->gravity_object);
+                                               newlibadr(fd, sce->id.lib, 
sce->toolsettings->sculpt->gravity_object);
 
                        if (sce->toolsettings->imapaint.stencil)
                                sce->toolsettings->imapaint.stencil =

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to