diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-11-30 04:32:13 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-11-30 04:32:13 +0400 |
commit | 9b2df014d2ab714c4ff0ec9848f25a7db7f54142 (patch) | |
tree | a571e2a262f8d5ccbeb8b94fcc3d320c9dadb378 /source/blender/blenkernel/intern/world.c | |
parent | aff705c4305cf972992fd4750dccc8b7b4a343b8 (diff) |
fix [#29459] Crash making a linked object group local
was an error with make-local refactor & path updating.
Diffstat (limited to 'source/blender/blenkernel/intern/world.c')
-rw-r--r-- | source/blender/blenkernel/intern/world.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 1d6972b9d61..b3f1e140829 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -190,17 +190,17 @@ void make_local_world(World *wrld) id_clear_lib_data(bmain, &wrld->id); } else if(is_local && is_lib) { - World *wrldn= copy_world(wrld); - wrldn->id.us= 0; + World *wrld_new= copy_world(wrld); + wrld_new->id.us= 0; /* Remap paths of new ID using old library as base. */ - BKE_id_lib_local_paths(bmain, &wrldn->id); + BKE_id_lib_local_paths(bmain, wrld->id.lib, &wrld_new->id); for(sce= bmain->scene.first; sce; sce= sce->id.next) { if(sce->world == wrld) { if(sce->id.lib==NULL) { - sce->world= wrldn; - wrldn->id.us++; + sce->world= wrld_new; + wrld_new->id.us++; wrld->id.us--; } } |