Merge branch 'master' into blender2.8
Conflicts: source/blender/blenloader/intern/readfile.c
This commit is contained in:
commit
3a566687e1
|
@ -2287,6 +2287,10 @@ static void direct_link_id(FileData *fd, ID *id)
|
|||
}
|
||||
id->py_instance = NULL;
|
||||
|
||||
/* That way datablock reading not going through main read_libblock() function are still in a clear tag state.
|
||||
* (glowering at certain nodetree fake datablock here...). */
|
||||
id->tag = 0;
|
||||
|
||||
/* Link direct data of overrides. */
|
||||
if (id->override_static) {
|
||||
id->override_static = newdataadr(fd, id->override_static);
|
||||
|
@ -8541,7 +8545,6 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, const short
|
|||
if (!id)
|
||||
return blo_nextbhead(fd, bhead);
|
||||
|
||||
id->tag = tag | LIB_TAG_NEED_LINK;
|
||||
id->lib = main->curlib;
|
||||
id->us = ID_FAKE_USERS(id);
|
||||
id->icon_id = 0;
|
||||
|
@ -8551,12 +8554,12 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, const short
|
|||
|
||||
/* this case cannot be direct_linked: it's just the ID part */
|
||||
if (bhead->code == ID_ID) {
|
||||
/* That way, we know which datablock needs do_versions (required currently for linking). */
|
||||
id->tag = tag | LIB_TAG_NEED_LINK | LIB_TAG_NEW;
|
||||
|
||||
return blo_nextbhead(fd, bhead);
|
||||
}
|
||||
|
||||
/* That way, we know which datablock needs do_versions (required currently for linking). */
|
||||
id->tag |= LIB_TAG_NEW;
|
||||
|
||||
/* need a name for the mallocN, just for debugging and sane prints on leaks */
|
||||
allocname = dataname(GS(id->name));
|
||||
|
||||
|
@ -8565,7 +8568,11 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, const short
|
|||
|
||||
/* init pointers direct data */
|
||||
direct_link_id(fd, id);
|
||||
|
||||
|
||||
/* That way, we know which datablock needs do_versions (required currently for linking). */
|
||||
/* Note: doing this after driect_link_id(), which resets that field. */
|
||||
id->tag = tag | LIB_TAG_NEED_LINK | LIB_TAG_NEW;
|
||||
|
||||
switch (GS(id->name)) {
|
||||
case ID_WM:
|
||||
direct_link_windowmanager(fd, (wmWindowManager *)id);
|
||||
|
|
Loading…
Reference in New Issue