[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27279] trunk/blender/source/blender/ makesrna/intern/rna_mesh.c: Fix #21442: RNA mesh texture face layer was giving corrupt data while

Brecht Van Lommel brecht at blender.org
Fri Mar 5 16:16:37 CET 2010


Revision: 27279
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27279
Author:   blendix
Date:     2010-03-05 16:16:37 +0100 (Fri, 05 Mar 2010)

Log Message:
-----------
Fix #21442: RNA mesh texture face layer was giving corrupt data while
in edit mode. Accessing this data would require editmesh wrapping, so
for now just don't allowed this to be accessed in edit mode.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_mesh.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_mesh.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2010-03-05 14:29:48 UTC (rev 27278)
+++ trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2010-03-05 15:16:37 UTC (rev 27279)
@@ -569,13 +569,13 @@
 {
 	Mesh *me= (Mesh*)ptr->id.data;
 	CustomDataLayer *layer= (CustomDataLayer*)ptr->data;
-	rna_iterator_array_begin(iter, layer->data, sizeof(MTFace), me->totface, 0, NULL);
+	rna_iterator_array_begin(iter, layer->data, sizeof(MTFace), (me->edit_mesh)? 0: me->totface, 0, NULL);
 }
 
 static int rna_MeshTextureFaceLayer_data_length(PointerRNA *ptr)
 {
 	Mesh *me= (Mesh*)ptr->id.data;
-	return me->totface;
+	return (me->edit_mesh)? 0: me->totface;
 }
 
 static int rna_MeshTextureFaceLayer_active_render_get(PointerRNA *ptr)
@@ -691,13 +691,13 @@
 {
 	Mesh *me= (Mesh*)ptr->id.data;
 	CustomDataLayer *layer= (CustomDataLayer*)ptr->data;
-	rna_iterator_array_begin(iter, layer->data, sizeof(MCol)*4, me->totface, 0, NULL);
+	rna_iterator_array_begin(iter, layer->data, sizeof(MCol)*4, (me->edit_mesh)? 0: me->totface, 0, NULL);
 }
 
 static int rna_MeshColorLayer_data_length(PointerRNA *ptr)
 {
 	Mesh *me= (Mesh*)ptr->id.data;
-	return me->totface;
+	return (me->edit_mesh)? 0: me->totface;
 }
 
 static int rna_MeshColorLayer_active_render_get(PointerRNA *ptr)
@@ -733,13 +733,13 @@
 {
 	Mesh *me= (Mesh*)ptr->id.data;
 	CustomDataLayer *layer= (CustomDataLayer*)ptr->data;
-	rna_iterator_array_begin(iter, layer->data, sizeof(MFloatProperty), me->totface, 0, NULL);
+	rna_iterator_array_begin(iter, layer->data, sizeof(MFloatProperty), (me->edit_mesh)? 0: me->totface, 0, NULL);
 }
 
 static int rna_MeshFloatPropertyLayer_data_length(PointerRNA *ptr)
 {
 	Mesh *me= (Mesh*)ptr->id.data;
-	return me->totface;
+	return (me->edit_mesh)? 0: me->totface;
 }
 
 static int rna_float_layer_check(CollectionPropertyIterator *iter, void *data)
@@ -770,13 +770,13 @@
 {
 	Mesh *me= (Mesh*)ptr->id.data;
 	CustomDataLayer *layer= (CustomDataLayer*)ptr->data;
-	rna_iterator_array_begin(iter, layer->data, sizeof(MIntProperty), me->totface, 0, NULL);
+	rna_iterator_array_begin(iter, layer->data, sizeof(MIntProperty), (me->edit_mesh)? 0: me->totface, 0, NULL);
 }
 
 static int rna_MeshIntPropertyLayer_data_length(PointerRNA *ptr)
 {
 	Mesh *me= (Mesh*)ptr->id.data;
-	return me->totface;
+	return (me->edit_mesh)? 0: me->totface;
 }
 
 static void rna_Mesh_int_layers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
@@ -801,13 +801,13 @@
 {
 	Mesh *me= (Mesh*)ptr->id.data;
 	CustomDataLayer *layer= (CustomDataLayer*)ptr->data;
-	rna_iterator_array_begin(iter, layer->data, sizeof(MStringProperty), me->totface, 0, NULL);
+	rna_iterator_array_begin(iter, layer->data, sizeof(MStringProperty), (me->edit_mesh)? 0: me->totface, 0, NULL);
 }
 
 static int rna_MeshStringPropertyLayer_data_length(PointerRNA *ptr)
 {
 	Mesh *me= (Mesh*)ptr->id.data;
-	return me->totface;
+	return (me->edit_mesh)? 0: me->totface;
 }
 
 static void rna_Mesh_string_layers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)





More information about the Bf-blender-cvs mailing list