[Bf-blender-cvs] [39dee8a] master: Fix T48844: Nodetrees of appended materials/textures/etc. were not correctly made local.
Bastien Montagne
noreply at git.blender.org
Thu Jul 14 18:33:29 CEST 2016
Commit: 39dee8a201040ad32a239ea749b6ae838f32da72
Author: Bastien Montagne
Date: Thu Jul 14 18:18:54 2016 +0200
Branches: master
https://developer.blender.org/rB39dee8a201040ad32a239ea749b6ae838f32da72
Fix T48844: Nodetrees of appended materials/textures/etc. were not correctly made local.
Previous commits now allow to use id_make_local() here, as one would expect.
Note that I also checked T36003 case, working fine as well with new code.
===================================================================
M source/blender/blenkernel/intern/library.c
===================================================================
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index c123b5e..2e06652 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -1602,14 +1602,8 @@ void BKE_library_make_local(Main *bmain, const Library *lib, const bool untagged
{
if (lib == NULL || id->lib == lib) {
if (id->lib) {
- /* for Make Local > All we should be calling id_make_local,
- * but doing that breaks append (see #36003 and #36006), we
- * we should make it work with all datablocks and id.us==0 */
- id_clear_lib_data(bmain, id); /* sets 'id->tag' */
-
- /* why sort alphabetically here but not in
- * id_clear_lib_data() ? - campbell */
- id_sort_by_name(lbarray[a], id);
+ /* In this specific case, we do want to make ID local even if it has no local usage yet... */
+ id_make_local(bmain, id, false, true);
}
else {
id->tag &= ~(LIB_TAG_EXTERN | LIB_TAG_INDIRECT | LIB_TAG_NEW);
More information about the Bf-blender-cvs
mailing list