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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-09-25 15:11:41 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-09-25 15:11:41 +0400
commit3c05662f5e03e1d3d86e4ed081301f83ed72e26b (patch)
tree55469f377c202623d040b05b8a497cd863149e3d /source
parent8917e63134a61bcc45e1dec189ee45508bfec09c (diff)
fix error where BKE_mesh_cd_validate layer renaming would use invalid index values. from r60260
also correct some comments.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/mesh_validate.c9
-rw-r--r--source/blender/blenlib/intern/math_geom.c2
-rw-r--r--source/blender/makesdna/DNA_object_types.h2
3 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/mesh_validate.c b/source/blender/blenkernel/intern/mesh_validate.c
index 891d3080797..1c9576d74d0 100644
--- a/source/blender/blenkernel/intern/mesh_validate.c
+++ b/source/blender/blenkernel/intern/mesh_validate.c
@@ -1002,6 +1002,7 @@ void BKE_mesh_cd_validate(Mesh *me)
CustomData_add_layer_named(&me->pdata, CD_MTEXPOLY, CD_DEFAULT, NULL, me->totpoly, from_name);
CustomData_set_layer_unique_name(&me->pdata, totlayer_mtex);
} while (totlayer_uv != ++totlayer_mtex);
+ mtex_index = CustomData_get_layer_index(&me->pdata, CD_MTEXPOLY);
}
else if (totlayer_uv < totlayer_mtex) {
do {
@@ -1009,15 +1010,17 @@ void BKE_mesh_cd_validate(Mesh *me)
CustomData_add_layer_named(&me->ldata, CD_MLOOPUV, CD_DEFAULT, NULL, me->totloop, from_name);
CustomData_set_layer_unique_name(&me->ldata, totlayer_uv);
} while (totlayer_mtex != ++totlayer_uv);
+ uv_index = CustomData_get_layer_index(&me->ldata, CD_MLOOPUV);
}
BLI_assert(totlayer_mtex == totlayer_uv);
/* Check uv/tex names match as well!!! */
for (i = 0; i < totlayer_mtex; i++, mtex_index++, uv_index++) {
- const char *name = me->pdata.layers[mtex_index].name;
- if (strcmp(name, me->ldata.layers[uv_index].name) != 0) {
- BKE_mesh_uv_cdlayer_rename_index(me, mtex_index, uv_index, -1, name, false);
+ const char *name_src = me->pdata.layers[mtex_index].name;
+ const char *name_dst = me->ldata.layers[uv_index].name;
+ if (!STREQ(name_src, name_dst)) {
+ BKE_mesh_uv_cdlayer_rename_index(me, mtex_index, uv_index, -1, name_src, false);
}
}
}
diff --git a/source/blender/blenlib/intern/math_geom.c b/source/blender/blenlib/intern/math_geom.c
index bf20dd48486..65cfac86021 100644
--- a/source/blender/blenlib/intern/math_geom.c
+++ b/source/blender/blenlib/intern/math_geom.c
@@ -1114,7 +1114,7 @@ bool isect_point_planes_v3(float (*planes)[4], int totplane, const float p[3])
}
/**
- * Intersect line/plane, optionally treat line as directional (like a ray) with the no_flip argument.
+ * Intersect line/plane.
*
* \param out The intersection point.
* \param l1 The first point of the line.
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 53d2ab1df07..2ff697f513f 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -142,7 +142,7 @@ typedef struct Object {
/* materials */
struct Material **mat; /* material slots */
char *matbits; /* a boolean field, with each byte 1 if corresponding material is linked to object */
- int totcol; /* copy of mesh or curve or meta */
+ int totcol; /* copy of mesh, curve & meta struct member of same name (keep in sync) */
int actcol; /* currently selected material in the UI */
/* rot en drot have to be together! (transform('r' en 's')) */