diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-06-02 04:20:26 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-06-02 04:20:26 +0400 |
commit | 075a910d72c9745c0476da7c1cc47337179c5085 (patch) | |
tree | 4793dddb9c8d898627ed39d8d5799aa1902dc3db /source/blender | |
parent | 67fb85b5f2da6fa448a175a386e80af19e89a3c0 (diff) |
fix regression in reducing normal recalculation [#35595],
pass the dirty-normal-state from the input dm to the output.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/modifiers/intern/MOD_array.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 902afd2ed41..36461851162 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -563,7 +563,9 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, result = CDDM_from_bmesh(bm, FALSE); - if ((amd->offset_type & MOD_ARR_OFF_OBJ) && (amd->offset_ob)) { + if ((dm->dirty & DM_DIRTY_NORMALS) || + ((amd->offset_type & MOD_ARR_OFF_OBJ) && (amd->offset_ob))) + { /* Update normals in case offset object has rotation. */ result->dirty |= DM_DIRTY_NORMALS; } |