diff options
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/modifier.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index cf9df7f6f73..c5d98dd9655 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -7220,9 +7220,16 @@ static void shrinkwrapModifier_initData(ModifierData *md) static void shrinkwrapModifier_copyData(ModifierData *md, ModifierData *target) { - char *dest = (char*)target; - char *src = (char*)md; - memcpy(dest + sizeof( ModifierData ), src + sizeof(ModifierData), sizeof(ShrinkwrapModifierData) - sizeof(ModifierData) ); + ShrinkwrapModifierData *smd = (ShrinkwrapModifierData*)md; + ShrinkwrapModifierData *tsmd = (ShrinkwrapModifierData*)target; + + tsmd->target = smd->target; + tsmd->cutPlane = smd->cutPlane; + strcpy(tsmd->vgroup_name, smd->vgroup_name); + tsmd->keptDist = smd->keptDist; + tsmd->mergeDist = smd->mergeDist; + tsmd->shrinkType = smd->shrinkType; + tsmd->shrinkOpts = smd->shrinkOpts; } CustomDataMask shrinkwrapModifier_requiredDataMask(ModifierData *md) |