Fix (unreported) bad copying code in Mesh Deform modifier.
authorBastien Montagne <montagne29@wanadoo.fr>
Mon, 19 Jun 2017 10:55:11 +0000 (12:55 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Mon, 19 Jun 2017 10:55:11 +0000 (12:55 +0200)
source/blender/modifiers/intern/MOD_meshdeform.c

index 406ce398ee057041782e191ff3e2e059b10dc207..b1938395a7b1b690c43d331776fdaca6581b101a 100644 (file)
@@ -83,7 +83,7 @@ static void copyData(ModifierData *md, ModifierData *target)
        MeshDeformModifierData *mmd = (MeshDeformModifierData *) md;
        MeshDeformModifierData *tmmd = (MeshDeformModifierData *) target;
 
-       *tmmd = *mmd;
+       modifier_copyData_generic(md, target);
 
        if (mmd->bindinfluences) tmmd->bindinfluences = MEM_dupallocN(mmd->bindinfluences);
        if (mmd->bindoffsets) tmmd->bindoffsets = MEM_dupallocN(mmd->bindoffsets);
@@ -91,8 +91,8 @@ static void copyData(ModifierData *md, ModifierData *target)
        if (mmd->dyngrid) tmmd->dyngrid = MEM_dupallocN(mmd->dyngrid);
        if (mmd->dyninfluences) tmmd->dyninfluences = MEM_dupallocN(mmd->dyninfluences);
        if (mmd->dynverts) tmmd->dynverts = MEM_dupallocN(mmd->dynverts);
-       if (mmd->bindweights) tmmd->dynverts = MEM_dupallocN(mmd->bindweights);  /* deprecated */
-       if (mmd->bindcos) tmmd->dynverts = MEM_dupallocN(mmd->bindcos);  /* deprecated */
+       if (mmd->bindweights) tmmd->bindweights = MEM_dupallocN(mmd->bindweights);  /* deprecated */
+       if (mmd->bindcos) tmmd->bindcos = MEM_dupallocN(mmd->bindcos);  /* deprecated */
 }
 
 static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)