diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-07-13 20:53:17 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-07-13 20:53:17 +0400 |
commit | c0ba1671c34683654b691684473bb4f3899604a7 (patch) | |
tree | 58b2e6b3a1ae2cc45bb50b30a6e59dc7ef5a8c30 /source/blender/editors/object/object_relations.c | |
parent | 8ee36e1da56b10a84e02ba9790fbcafbdbf43f51 (diff) |
group refcount checking was inconsistent.
- if a group has one or more objects in it, it gets a refcount of 1 on load (unchanged from before)
- dupli-groups, and materials no longer add/remove a reference.
- now groups are only freed when they contain no objects or when manually unlinked.
Diffstat (limited to 'source/blender/editors/object/object_relations.c')
-rw-r--r-- | source/blender/editors/object/object_relations.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index fbc6075796c..8d488eeabac 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -1250,10 +1250,9 @@ static int make_links_data_exec(bContext *C, wmOperator *op) BKE_copy_animdata_id((ID *)obt->data, (ID *)ob->data); break; case MAKE_LINKS_DUPLIGROUP: - if(ob->dup_group) ob->dup_group->id.us--; obt->dup_group= ob->dup_group; if(obt->dup_group) { - id_us_plus((ID *)obt->dup_group); + id_lib_extern(&obt->dup_group->id); obt->transflag |= OB_DUPLIGROUP; } break; |