diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2014-10-06 01:10:44 +0400 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2014-10-06 01:10:44 +0400 |
commit | 1dd428ff6d45194fcabe1bdff62ede08f531a4ea (patch) | |
tree | 01e19fcf2c9413b6ba9f9ac9f7bfa2ca6f4a31bb | |
parent | 6feac1e940ec3f15411c259bc772703b45013c12 (diff) |
Fix T41983: Array Modifier "Merge" bug?
We messed up previous fix, in 'simplified' translated merge case... :(
-rw-r--r-- | source/blender/modifiers/intern/MOD_array.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 4dbe28e8a59..40db49afef2 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -609,10 +609,13 @@ static DerivedMesh *arrayModifier_doArray( int target = full_doubles_map[prev_chunk_index]; if (target != -1) { target += chunk_nverts; /* translate mapping */ - if (!with_follow) { - /* The rule here is to not follow mapping to chunk N-2, which could be too far - * so if target vertex was itself mapped, then this vertex is not mapped */ - if (full_doubles_map[target] != -1) { + if (full_doubles_map[target] != -1) { + if (with_follow) { + target = full_doubles_map[target]; + } + else { + /* The rule here is to not follow mapping to chunk N-2, which could be too far + * so if target vertex was itself mapped, then this vertex is not mapped */ target = -1; } } |