[Bf-blender-cvs] [bf1e5a2133a] master: Blenloader: call blendRead and blendWrite of modifiers when available

Jacques Lucke noreply at git.blender.org
Mon Jun 15 17:55:23 CEST 2020


Commit: bf1e5a2133a3c35549e24850739f83af34eb15b3
Author: Jacques Lucke
Date:   Mon Jun 15 17:55:06 2020 +0200
Branches: master
https://developer.blender.org/rBbf1e5a2133a3c35549e24850739f83af34eb15b3

Blenloader: call blendRead and blendWrite of modifiers when available

This is part of T76372.

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

M	source/blender/blenloader/intern/readfile.c
M	source/blender/blenloader/intern/writefile.c

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 12d1e93e183..fcbbccedcda 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5579,8 +5579,11 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object
       md = modifier_replace_with_fluid(reader->fd, ob, lb, md);
       is_allocated = true;
     }
+
+    const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
+
     /* if modifiers disappear, or for upward compatibility */
-    if (NULL == BKE_modifier_get_info(md->type)) {
+    if (mti == NULL) {
       md->type = eModifierType_None;
     }
 
@@ -5884,6 +5887,10 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object
         direct_link_curveprofile(reader, bmd->custom_profile);
       }
     }
+
+    if (mti->blendRead != NULL) {
+      mti->blendRead(reader, md);
+    }
   }
 }
 
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 2b57a8e1f5e..b6f8849b46d 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1839,6 +1839,10 @@ static void write_modifiers(BlendWriter *writer, ListBase *modbase)
         write_CurveProfile(writer, bmd->custom_profile);
       }
     }
+
+    if (mti->blendWrite != NULL) {
+      mti->blendWrite(writer, md);
+    }
   }
 }



More information about the Bf-blender-cvs mailing list