Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2014-10-06 01:10:44 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2014-10-06 01:10:44 +0400
commit1dd428ff6d45194fcabe1bdff62ede08f531a4ea (patch)
tree01e19fcf2c9413b6ba9f9ac9f7bfa2ca6f4a31bb
parent6feac1e940ec3f15411c259bc772703b45013c12 (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.c11
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;
}
}