diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2016-07-11 22:27:15 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2016-07-11 22:30:02 +0300 |
commit | 7212ebd09f9720883581221be923ae5e97ff5d76 (patch) | |
tree | 546606626647d473ae9d4a037ce8e24e17943e08 /source/blender/blenkernel/intern/lattice.c | |
parent | 3b8e0606e1cfa484971d09c5060a78dbadbe1569 (diff) |
Remove usercount handling from BKE_id_expand_local.
Idea looked good, but we have too much custom situations here (some half-fake-sub-ID
being copied with their 'owner', animdata, etc.), let's let datablock copy functions
handle that themselves.
Also allows to safely call BKE_id_expand_local from all copy functions now (only when
copying linked data).
Diffstat (limited to 'source/blender/blenkernel/intern/lattice.c')
-rw-r--r-- | source/blender/blenkernel/intern/lattice.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c index c2a94efb963..67f49266efc 100644 --- a/source/blender/blenkernel/intern/lattice.c +++ b/source/blender/blenkernel/intern/lattice.c @@ -286,7 +286,6 @@ Lattice *BKE_lattice_copy(Main *bmain, Lattice *lt) if (lt->key) { ltn->key = BKE_key_copy(bmain, ltn->key); - ltn->key->id.us = 0; /* Will be increased again by BKE_id_expand_local. */ ltn->key->from = (ID *)ltn; } @@ -298,9 +297,8 @@ Lattice *BKE_lattice_copy(Main *bmain, Lattice *lt) ltn->editlatt = NULL; - BKE_id_expand_local(<n->id, true); - if (ID_IS_LINKED_DATABLOCK(lt)) { + BKE_id_expand_local(<n->id); BKE_id_lib_local_paths(bmain, lt->id.lib, <n->id); } @@ -353,7 +351,7 @@ void BKE_lattice_make_local(Main *bmain, Lattice *lt) if (lt->key) { BKE_key_make_local(bmain, lt->key); } - BKE_id_expand_local(<->id, false); + BKE_id_expand_local(<->id); } else { Lattice *lt_new = BKE_lattice_copy(bmain, lt); |