diff options
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/curve.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/key.c | 10 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/lattice.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mesh.c | 2 |
4 files changed, 10 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index d3c5d28ddbb..4dc0f1ccf8c 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -195,7 +195,7 @@ Curve *BKE_curve_copy_ex(Main *bmain, Curve *cu) cun->bb = MEM_dupallocN(cu->bb); if (cu->key) { - cun->key = BKE_key_copy(cu->key); + cun->key = BKE_key_copy_ex(bmain, cu->key); cun->key->from = (ID *)cun; } diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c index 45686e9f450..ed8095444a4 100644 --- a/source/blender/blenkernel/intern/key.c +++ b/source/blender/blenkernel/intern/key.c @@ -150,12 +150,12 @@ Key *BKE_key_add(ID *id) /* common function */ return key; } -Key *BKE_key_copy(Key *key) +Key *BKE_key_copy_ex(Main *bmain, Key *key) { Key *keyn; KeyBlock *kbn, *kb; - keyn = BKE_libblock_copy(&key->id); + keyn = BKE_libblock_copy_ex(bmain, &key->id); BLI_duplicatelist(&keyn->block, &key->block); @@ -171,12 +171,16 @@ Key *BKE_key_copy(Key *key) } if (ID_IS_LINKED_DATABLOCK(key)) { - BKE_id_lib_local_paths(G.main, key->id.lib, &keyn->id); + BKE_id_lib_local_paths(bmain, key->id.lib, &keyn->id); } return keyn; } +Key *BKE_key_copy(Key *key) +{ + return BKE_key_copy_ex(G.main, key); +} Key *BKE_key_copy_nolib(Key *key) { diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c index 3e03690a1a6..e85fad55532 100644 --- a/source/blender/blenkernel/intern/lattice.c +++ b/source/blender/blenkernel/intern/lattice.c @@ -285,7 +285,7 @@ Lattice *BKE_lattice_copy_ex(Main *bmain, Lattice *lt) ltn->def = MEM_dupallocN(lt->def); if (lt->key) { - ltn->key = BKE_key_copy(ltn->key); + ltn->key = BKE_key_copy_ex(bmain, ltn->key); ltn->key->from = (ID *)ltn; } diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index de9be3d835d..b2ab83a7018 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -549,7 +549,7 @@ Mesh *BKE_mesh_copy_ex(Main *bmain, Mesh *me) men->bb = MEM_dupallocN(men->bb); if (me->key) { - men->key = BKE_key_copy(me->key); + men->key = BKE_key_copy_ex(bmain, me->key); men->key->from = (ID *)men; } |