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:
Diffstat (limited to 'source/blender/editors/render/render_preview.c')
-rw-r--r--source/blender/editors/render/render_preview.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 4a4f6127851..d7eaaf3277b 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -325,7 +325,13 @@ static World *preview_get_localized_world(ShaderPreview *sp, World *world)
if (sp->worldcopy != NULL) {
return sp->worldcopy;
}
- sp->worldcopy = BKE_world_localize(world);
+
+ 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);
+ sp->worldcopy = (World *)id_copy;
BLI_addtail(&sp->pr_main->worlds, sp->worldcopy);
return sp->worldcopy;
}
@@ -339,13 +345,16 @@ static ID *duplicate_ids(ID *id)
switch (GS(id->name)) {
case ID_MA:
- return (ID *)BKE_material_localize((Material *)id);
case ID_TE:
- return (ID *)BKE_texture_localize((Tex *)id);
case ID_LA:
- return (ID *)BKE_light_localize((Light *)id);
- case ID_WO:
- return (ID *)BKE_world_localize((World *)id);
+ 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);
+ return id_copy;
+ }
case ID_IM:
case ID_BR:
case ID_SCR: