[Bf-blender-cvs] [32b1947be24] master: Fix T103389: Invalid flags in default_material_surface->nodetree->tag.

Bastien Montagne noreply at git.blender.org
Mon Dec 26 08:24:54 CET 2022


Commit: 32b1947be240111e6ccaa933d354c8a4855cd810
Author: Bastien Montagne
Date:   Mon Dec 26 16:22:50 2022 +0900
Branches: master
https://developer.blender.org/rB32b1947be240111e6ccaa933d354c8a4855cd810

Fix T103389: Invalid flags in default_material_surface->nodetree->tag.

There are still codepaths that can create embedded IDs with `NO_MAIN`
tag. Related to T88555 TODO.

===================================================================

M	source/blender/blenloader/intern/readfile.cc

===================================================================

diff --git a/source/blender/blenloader/intern/readfile.cc b/source/blender/blenloader/intern/readfile.cc
index 87d3255056b..3481611298d 100644
--- a/source/blender/blenloader/intern/readfile.cc
+++ b/source/blender/blenloader/intern/readfile.cc
@@ -2026,8 +2026,10 @@ static void direct_link_id_common(
   }
 
   /* No-main and other types of special IDs should never be written in .blend files. */
-  BLI_assert((id->tag & (LIB_TAG_NO_MAIN | LIB_TAG_NO_USER_REFCOUNT | LIB_TAG_NOT_ALLOCATED)) ==
-             0);
+  /* NOTE: `NO_MAIN` is commented for now as some code paths may still generate embedded IDs with
+   * this tag, see T103389. Related to T88555. */
+  BLI_assert(
+      (id->tag & (/*LIB_TAG_NO_MAIN |*/ LIB_TAG_NO_USER_REFCOUNT | LIB_TAG_NOT_ALLOCATED)) == 0);
 
   if ((tag & LIB_TAG_TEMP_MAIN) == 0) {
     BKE_lib_libblock_session_uuid_ensure(id);



More information about the Bf-blender-cvs mailing list