diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-06-05 23:06:27 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-06-05 23:06:27 +0400 |
commit | 4c2a51e1f9691522d083d035b8d6b707bf1e4450 (patch) | |
tree | 1e7cf578a71b0c25018bfc4ab9b2c94c77629630 /source/blender/blenkernel/intern/world.c | |
parent | f18fad668f67428698f4a87d08ded5858be3f018 (diff) |
Fix #35640, part 1. Set the id.lib pointer for nested bNodeTree data blocks inside material, scene, etc. on lib_link, so that the UI buttons get disabled when editing linked node trees. Thanks to Brecht
van Lommel for suggesting this fix.
Diffstat (limited to 'source/blender/blenkernel/intern/world.c')
-rw-r--r-- | source/blender/blenkernel/intern/world.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 206f829eaa8..050fcd2600b 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -179,6 +179,9 @@ void BKE_world_make_local(World *wrld) if (wrld->id.lib == NULL) return; if (wrld->id.us == 1) { id_clear_lib_data(bmain, &wrld->id); + /* nodetree uses same lib */ + if (wrld->nodetree) + wrld->nodetree->id.lib = NULL; return; } @@ -191,6 +194,9 @@ void BKE_world_make_local(World *wrld) if (is_local && is_lib == FALSE) { id_clear_lib_data(bmain, &wrld->id); + /* nodetree uses same lib */ + if (wrld->nodetree) + wrld->nodetree->id.lib = NULL; } else if (is_local && is_lib) { World *wrld_new = BKE_world_copy(wrld); |