diff options
author | Bastien Montagne <bastien@blender.org> | 2020-10-07 15:27:33 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-10-07 19:05:06 +0300 |
commit | 7c9131d11eb01a70db440fac7bb3f4b3833d544a (patch) | |
tree | c7c495566a3f111c8c495f1daa207292bab9c43a /source/blender/editors | |
parent | 1f50beb9f28edd2fe54d97647222ad6ee5808c1c (diff) |
Refactor `BKE_id_copy_ex` to return the new ID pointer.
Note that possibility to pass the new ID pointer as parameter was kept,
as this is needed for some rather specific cases (like in depsgraph/COW,
when copying into already allocated memory).
Part of T71219.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/physics/particle_object.c | 2 | ||||
-rw-r--r-- | source/blender/editors/render/render_preview.c | 17 | ||||
-rw-r--r-- | source/blender/editors/render/render_shading.c | 8 |
3 files changed, 12 insertions, 15 deletions
diff --git a/source/blender/editors/physics/particle_object.c b/source/blender/editors/physics/particle_object.c index 0eda5877bb4..74d246dc3a0 100644 --- a/source/blender/editors/physics/particle_object.c +++ b/source/blender/editors/physics/particle_object.c @@ -754,7 +754,7 @@ static bool remap_hair_emitter(Depsgraph *depsgraph, return false; } /* don't modify the original vertices */ - BKE_id_copy_ex(NULL, &mesh->id, (ID **)&mesh, LIB_ID_COPY_LOCALIZE); + mesh = (Mesh *)BKE_id_copy_ex(NULL, &mesh->id, NULL, LIB_ID_COPY_LOCALIZE); /* BMESH_ONLY, deform dm may not have tessface */ BKE_mesh_tessface_ensure(mesh); diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index d7eaaf3277b..6369b7bad43 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -326,11 +326,11 @@ static World *preview_get_localized_world(ShaderPreview *sp, World *world) return sp->worldcopy; } - ID *id_copy; - BKE_id_copy_ex(NULL, - &world->id, - &id_copy, - LIB_ID_CREATE_LOCAL | LIB_ID_COPY_LOCALIZE | LIB_ID_COPY_NO_ANIMDATA); + ID *id_copy = BKE_id_copy_ex(NULL, + &world->id, + NULL, + LIB_ID_CREATE_LOCAL | LIB_ID_COPY_LOCALIZE | + LIB_ID_COPY_NO_ANIMDATA); sp->worldcopy = (World *)id_copy; BLI_addtail(&sp->pr_main->worlds, sp->worldcopy); return sp->worldcopy; @@ -348,11 +348,8 @@ static ID *duplicate_ids(ID *id) case ID_TE: case ID_LA: case ID_WO: { - ID *id_copy; - BKE_id_copy_ex(NULL, - id, - &id_copy, - LIB_ID_CREATE_LOCAL | LIB_ID_COPY_LOCALIZE | LIB_ID_COPY_NO_ANIMDATA); + ID *id_copy = BKE_id_copy_ex( + NULL, id, NULL, LIB_ID_CREATE_LOCAL | LIB_ID_COPY_LOCALIZE | LIB_ID_COPY_NO_ANIMDATA); return id_copy; } case ID_IM: diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 5ebf2a3915d..425537b5e13 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -751,8 +751,8 @@ static int new_material_exec(bContext *C, wmOperator *UNUSED(op)) /* add or copy material */ if (ma) { - Material *new_ma = NULL; - BKE_id_copy_ex(bmain, &ma->id, (ID **)&new_ma, LIB_ID_COPY_DEFAULT | LIB_ID_COPY_ACTIONS); + Material *new_ma = (Material *)BKE_id_copy_ex( + bmain, &ma->id, NULL, LIB_ID_COPY_DEFAULT | LIB_ID_COPY_ACTIONS); ma = new_ma; } else { @@ -873,8 +873,8 @@ static int new_world_exec(bContext *C, wmOperator *UNUSED(op)) /* add or copy world */ if (wo) { - World *new_wo = NULL; - BKE_id_copy_ex(bmain, &wo->id, (ID **)&new_wo, LIB_ID_COPY_DEFAULT | LIB_ID_COPY_ACTIONS); + World *new_wo = (World *)BKE_id_copy_ex( + bmain, &wo->id, NULL, LIB_ID_COPY_DEFAULT | LIB_ID_COPY_ACTIONS); wo = new_wo; } else { |