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:
authorTon Roosendaal <ton@blender.org>2012-10-24 17:24:34 +0400
committerTon Roosendaal <ton@blender.org>2012-10-24 17:24:34 +0400
commitf746f3ea0917033ee05c0282d177a466948927a6 (patch)
tree913e489e0752ba7ff0d3b31437ce0ab34576576d
parent2af81d4a5ec9e7898ce92584a220074cc4549130 (diff)
Bugfix #32496
You don't believe it, this bug traces back to 2002. Went by unreported for a decade. If you link in an object, delete it, and relink again its materials are lost! Easy fix, annoying error. :)
-rw-r--r--source/blender/blenkernel/intern/object.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index d50c82ca589..431f2c04f7d 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -300,11 +300,11 @@ void BKE_object_free(Object *ob)
BKE_object_free_display(ob);
- /* disconnect specific data */
+ /* disconnect specific data, but not for lib data (might be indirect data, can get relinked) */
if (ob->data) {
ID *id = ob->data;
id->us--;
- if (id->us == 0) {
+ if (id->us == 0 && id->lib==NULL) {
switch (ob->type) {
case OB_MESH:
BKE_mesh_unlink((Mesh *)id);