[Bf-blender-cvs] [9ef5cc44a6c] master: Refactor: move blenloader code of bevel modifier

Jacques Lucke noreply at git.blender.org
Tue Jun 23 17:08:52 CEST 2020


Commit: 9ef5cc44a6c33445960f118ad2415345e174d7b7
Author: Jacques Lucke
Date:   Tue Jun 23 17:08:26 2020 +0200
Branches: master
https://developer.blender.org/rB9ef5cc44a6c33445960f118ad2415345e174d7b7

Refactor: move blenloader code of bevel modifier

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

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

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index e90849fdf18..15dbef5fdc5 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5765,13 +5765,6 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object
       msmcd->reader = NULL;
       msmcd->reader_object_path[0] = '\0';
     }
-    else if (md->type == eModifierType_Bevel) {
-      BevelModifierData *bmd = (BevelModifierData *)md;
-      BLO_read_data_address(reader, &bmd->custom_profile);
-      if (bmd->custom_profile) {
-        BKE_curveprofile_blend_read(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 898e43a2c44..83c587cc446 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1743,12 +1743,6 @@ static void write_modifiers(BlendWriter *writer, ListBase *modbase)
       writestruct(wd, DATA, MFace, collmd->numfaces, collmd->mfaces);
 #endif
     }
-    else if (md->type == eModifierType_Bevel) {
-      BevelModifierData *bmd = (BevelModifierData *)md;
-      if (bmd->custom_profile) {
-        BKE_curveprofile_blend_write(writer, bmd->custom_profile);
-      }
-    }
 
     if (mti->blendWrite != NULL) {
       mti->blendWrite(writer, md);
diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c
index 5d2bda1d017..0a1eb8eba10 100644
--- a/source/blender/modifiers/intern/MOD_bevel.c
+++ b/source/blender/modifiers/intern/MOD_bevel.c
@@ -51,6 +51,8 @@
 #include "MOD_ui_common.h"
 #include "MOD_util.h"
 
+#include "BLO_read_write.h"
+
 #include "BKE_curveprofile.h"
 #include "bmesh.h"
 #include "bmesh_tools.h"
@@ -413,6 +415,25 @@ static void panelRegister(ARegionType *region_type)
       region_type, "shading", "Shading", NULL, shading_panel_draw, panel_type);
 }
 
+static void blendWrite(BlendWriter *writer, const ModifierData *md)
+{
+  const BevelModifierData *bmd = (const BevelModifierData *)md;
+
+  if (bmd->custom_profile) {
+    BKE_curveprofile_blend_write(writer, bmd->custom_profile);
+  }
+}
+
+static void blendRead(BlendDataReader *reader, ModifierData *md)
+{
+  BevelModifierData *bmd = (BevelModifierData *)md;
+
+  BLO_read_data_address(reader, &bmd->custom_profile);
+  if (bmd->custom_profile) {
+    BKE_curveprofile_blend_read(reader, bmd->custom_profile);
+  }
+}
+
 ModifierTypeInfo modifierType_Bevel = {
     /* name */ "Bevel",
     /* structName */ "BevelModifierData",
@@ -441,6 +462,6 @@ ModifierTypeInfo modifierType_Bevel = {
     /* foreachTexLink */ NULL,
     /* freeRuntimeData */ NULL,
     /* uiPanel */ panelRegister,
-    /* blendWrite */ NULL,
-    /* blendRead */ NULL,
+    /* blendWrite */ blendWrite,
+    /* blendRead */ blendRead,
 };



More information about the Bf-blender-cvs mailing list