diff options
Diffstat (limited to 'source/blender/modifiers/intern/MOD_curve.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_curve.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index ccbe8ff94d8..bed53cb0f51 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -27,6 +27,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_mesh_types.h" #include "DNA_object_types.h" #include "DNA_scene_types.h" @@ -60,7 +61,9 @@ static void initData(ModifierData *md) { CurveModifierData *cmd = (CurveModifierData *)md; - cmd->defaxis = MOD_CURVE_POSX; + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(cmd, modifier)); + + MEMCPY_STRUCT_AFTER(cmd, DNA_struct_default_get(CurveModifierData), modifier); } static void requiredDataMask(Object *UNUSED(ob), @@ -87,11 +90,11 @@ static bool isDisabled(const Scene *UNUSED(scene), ModifierData *md, bool UNUSED return !cmd->object || cmd->object->type != OB_CURVE; } -static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData) +static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) { CurveModifierData *cmd = (CurveModifierData *)md; - walk(userData, ob, &cmd->object, IDWALK_CB_NOP); + walk(userData, ob, (ID **)&cmd->object, IDWALK_CB_NOP); } static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) @@ -218,9 +221,11 @@ ModifierTypeInfo modifierType_Curve = { /* name */ "Curve", /* structName */ "CurveModifierData", /* structSize */ sizeof(CurveModifierData), + /* srna */ &RNA_CurveModifier, /* type */ eModifierTypeType_OnlyDeform, /* flags */ eModifierTypeFlag_AcceptsCVs | eModifierTypeFlag_AcceptsVertexCosOnly | eModifierTypeFlag_SupportsEditmode, + /* icon */ ICON_MOD_CURVE, /* copyData */ BKE_modifier_copydata_generic, @@ -240,8 +245,7 @@ ModifierTypeInfo modifierType_Curve = { /* updateDepsgraph */ updateDepsgraph, /* dependsOnTime */ NULL, /* dependsOnNormals */ NULL, - /* foreachObjectLink */ foreachObjectLink, - /* foreachIDLink */ NULL, + /* foreachIDLink */ foreachIDLink, /* foreachTexLink */ NULL, /* freeRuntimeData */ NULL, /* panelRegister */ panelRegister, |