Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-10-22 19:19:37 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-10-22 19:19:37 +0400
commit8bb39a536b741e1ccf55fb4cef6b5f580393c2b9 (patch)
tree8891537b9f78c1634a1016f1f764a577b164d23d /source/blender/blenkernel/intern
parentdf553892c9d2f034659e328e9286c1cf6a9554d7 (diff)
Making real need to remove proxies
Otherwise some invalid pointers will be left which could be harmless if real object stays local, but crashes when linking them to another files. Was discovered here in the studio during Project Pampa, and the steps to reproduce are: - Create lib.blend, put armature and cube to it. Create a group with them. - Create scene.blend and link group from lib.blend. - Make a proxy from armature. - Make group real. - Add real objects to a group. - Create comp.blend and link group from scene.blend. This step will creah.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r--source/blender/blenkernel/intern/object.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index d277d25294e..bef0263b2f5 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -1302,6 +1302,11 @@ Object *BKE_object_copy_ex(Main *bmain, Object *ob, int copy_caches)
obn->mode = 0;
obn->sculpt = NULL;
+ /* Proxies are not to be copied. */
+ obn->proxy_from = NULL;
+ obn->proxy_group = NULL;
+ obn->proxy = NULL;
+
/* increase user numbers */
id_us_plus((ID *)obn->data);
id_us_plus((ID *)obn->gpd);