[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60364] trunk/blender/source/blender: fix error where BKE_mesh_cd_validate layer renaming would use invalid index values .

Campbell Barton ideasman42 at gmail.com
Wed Sep 25 13:11:42 CEST 2013


Revision: 60364
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60364
Author:   campbellbarton
Date:     2013-09-25 11:11:41 +0000 (Wed, 25 Sep 2013)
Log Message:
-----------
fix error where BKE_mesh_cd_validate layer renaming would use invalid index values. from r60260
also correct some comments.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60260

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/mesh_validate.c
    trunk/blender/source/blender/blenlib/intern/math_geom.c
    trunk/blender/source/blender/makesdna/DNA_object_types.h

Modified: trunk/blender/source/blender/blenkernel/intern/mesh_validate.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh_validate.c	2013-09-25 08:35:43 UTC (rev 60363)
+++ trunk/blender/source/blender/blenkernel/intern/mesh_validate.c	2013-09-25 11:11:41 UTC (rev 60364)
@@ -1002,6 +1002,7 @@
 			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 @@
 			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);
 		}
 	}
 }

Modified: trunk/blender/source/blender/blenlib/intern/math_geom.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/math_geom.c	2013-09-25 08:35:43 UTC (rev 60363)
+++ trunk/blender/source/blender/blenlib/intern/math_geom.c	2013-09-25 11:11:41 UTC (rev 60364)
@@ -1114,7 +1114,7 @@
 }
 
 /**
- * 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.

Modified: trunk/blender/source/blender/makesdna/DNA_object_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_object_types.h	2013-09-25 08:35:43 UTC (rev 60363)
+++ trunk/blender/source/blender/makesdna/DNA_object_types.h	2013-09-25 11:11:41 UTC (rev 60364)
@@ -142,7 +142,7 @@
 	/* 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')) */




More information about the Bf-blender-cvs mailing list