[Bf-blender-cvs] [35368e8bfc5] master: Fix: mattes of cryptomatte node lost after write

Jeroen Bakker noreply at git.blender.org
Tue Dec 15 11:16:39 CET 2020


Commit: 35368e8bfc5f9811f3a519b2262124ebe9ccf9e0
Author: Jeroen Bakker
Date:   Tue Dec 15 11:15:01 2020 +0100
Branches: master
https://developer.blender.org/rB35368e8bfc5f9811f3a519b2262124ebe9ccf9e0

Fix: mattes of cryptomatte node lost after write

Fix an issue introduced by {f4df036bc497} where the read/write
code missed to store and read the mattes from its new location.

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

M	source/blender/blenkernel/intern/node.c

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

diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index a9a1740f4a8..75f2fca1096 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -494,6 +494,9 @@ void ntreeBlendWrite(BlendWriter *writer, bNodeTree *ntree)
         if (nc->matte_id) {
           BLO_write_string(writer, nc->matte_id);
         }
+        LISTBASE_FOREACH (CryptomatteEntry *, entry, &nc->entries) {
+          BLO_write_struct(writer, CryptomatteEntry, entry);
+        }
         BLO_write_struct_by_name(writer, node->typeinfo->storagename, node->storage);
       }
       else if (node->typeinfo != &NodeTypeUndefined) {
@@ -646,6 +649,7 @@ void ntreeBlendReadData(BlendDataReader *reader, bNodeTree *ntree)
         case CMP_NODE_CRYPTOMATTE: {
           NodeCryptomatte *nc = (NodeCryptomatte *)node->storage;
           BLO_read_data_address(reader, &nc->matte_id);
+          BLO_read_list(reader, &nc->entries);
           break;
         }
         case TEX_NODE_IMAGE: {



More information about the Bf-blender-cvs mailing list