forked from bartvdbraak/blender
fix [#30608] Regression: BMesh merge broke customdata int/float/string layers
This commit is contained in:
parent
64d2a32f92
commit
03479c04ed
@ -744,13 +744,13 @@ static void rna_MeshFloatPropertyLayer_data_begin(CollectionPropertyIterator *it
|
|||||||
{
|
{
|
||||||
Mesh *me = rna_mesh(ptr);
|
Mesh *me = rna_mesh(ptr);
|
||||||
CustomDataLayer *layer = (CustomDataLayer*)ptr->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->totpoly, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rna_MeshFloatPropertyLayer_data_length(PointerRNA *ptr)
|
static int rna_MeshFloatPropertyLayer_data_length(PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
Mesh *me = rna_mesh(ptr);
|
Mesh *me = rna_mesh(ptr);
|
||||||
return me->totface;
|
return me->totpoly;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rna_float_layer_check(CollectionPropertyIterator *iter, void *data)
|
static int rna_float_layer_check(CollectionPropertyIterator *iter, void *data)
|
||||||
@ -781,13 +781,13 @@ static void rna_MeshIntPropertyLayer_data_begin(CollectionPropertyIterator *iter
|
|||||||
{
|
{
|
||||||
Mesh *me = rna_mesh(ptr);
|
Mesh *me = rna_mesh(ptr);
|
||||||
CustomDataLayer *layer = (CustomDataLayer*)ptr->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->totpoly, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rna_MeshIntPropertyLayer_data_length(PointerRNA *ptr)
|
static int rna_MeshIntPropertyLayer_data_length(PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
Mesh *me = rna_mesh(ptr);
|
Mesh *me = rna_mesh(ptr);
|
||||||
return me->totface;
|
return me->totpoly;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rna_Mesh_polygon_int_layers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
|
static void rna_Mesh_polygon_int_layers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
|
||||||
@ -812,13 +812,13 @@ static void rna_MeshStringPropertyLayer_data_begin(CollectionPropertyIterator *i
|
|||||||
{
|
{
|
||||||
Mesh *me = rna_mesh(ptr);
|
Mesh *me = rna_mesh(ptr);
|
||||||
CustomDataLayer *layer = (CustomDataLayer*)ptr->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->totpoly, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rna_MeshStringPropertyLayer_data_length(PointerRNA *ptr)
|
static int rna_MeshStringPropertyLayer_data_length(PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
Mesh *me = rna_mesh(ptr);
|
Mesh *me = rna_mesh(ptr);
|
||||||
return me->totface;
|
return me->totpoly;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rna_Mesh_polygon_string_layers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
|
static void rna_Mesh_polygon_string_layers_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
|
||||||
@ -1219,10 +1219,10 @@ static PointerRNA rna_Mesh_polygon_int_property_new(struct Mesh *me, struct bCon
|
|||||||
CustomDataLayer *cdl = NULL;
|
CustomDataLayer *cdl = NULL;
|
||||||
int index;
|
int index;
|
||||||
|
|
||||||
CustomData_add_layer_named(&me->fdata, CD_PROP_INT, CD_DEFAULT, NULL, me->totface, name);
|
CustomData_add_layer_named(&me->pdata, CD_PROP_INT, CD_DEFAULT, NULL, me->totpoly, name);
|
||||||
index = CustomData_get_named_layer_index(&me->fdata, CD_PROP_INT, name);
|
index = CustomData_get_named_layer_index(&me->pdata, CD_PROP_INT, name);
|
||||||
|
|
||||||
cdl = (index == -1) ? NULL : &(me->fdata.layers[index]);
|
cdl = (index == -1) ? NULL : &(me->pdata.layers[index]);
|
||||||
|
|
||||||
RNA_pointer_create(&me->id, &RNA_MeshIntPropertyLayer, cdl, &ptr);
|
RNA_pointer_create(&me->id, &RNA_MeshIntPropertyLayer, cdl, &ptr);
|
||||||
return ptr;
|
return ptr;
|
||||||
@ -1234,10 +1234,10 @@ static PointerRNA rna_Mesh_polygon_float_property_new(struct Mesh *me, struct bC
|
|||||||
CustomDataLayer *cdl = NULL;
|
CustomDataLayer *cdl = NULL;
|
||||||
int index;
|
int index;
|
||||||
|
|
||||||
CustomData_add_layer_named(&me->fdata, CD_PROP_FLT, CD_DEFAULT, NULL, me->totface, name);
|
CustomData_add_layer_named(&me->pdata, CD_PROP_FLT, CD_DEFAULT, NULL, me->totpoly, name);
|
||||||
index = CustomData_get_named_layer_index(&me->fdata, CD_PROP_FLT, name);
|
index = CustomData_get_named_layer_index(&me->pdata, CD_PROP_FLT, name);
|
||||||
|
|
||||||
cdl = (index == -1) ? NULL : &(me->fdata.layers[index]);
|
cdl = (index == -1) ? NULL : &(me->pdata.layers[index]);
|
||||||
|
|
||||||
RNA_pointer_create(&me->id, &RNA_MeshFloatPropertyLayer, cdl, &ptr);
|
RNA_pointer_create(&me->id, &RNA_MeshFloatPropertyLayer, cdl, &ptr);
|
||||||
return ptr;
|
return ptr;
|
||||||
@ -1249,10 +1249,10 @@ static PointerRNA rna_Mesh_polygon_string_property_new(struct Mesh *me, struct b
|
|||||||
CustomDataLayer *cdl = NULL;
|
CustomDataLayer *cdl = NULL;
|
||||||
int index;
|
int index;
|
||||||
|
|
||||||
CustomData_add_layer_named(&me->fdata, CD_PROP_STR, CD_DEFAULT, NULL, me->totface, name);
|
CustomData_add_layer_named(&me->pdata, CD_PROP_STR, CD_DEFAULT, NULL, me->totpoly, name);
|
||||||
index = CustomData_get_named_layer_index(&me->fdata, CD_PROP_STR, name);
|
index = CustomData_get_named_layer_index(&me->pdata, CD_PROP_STR, name);
|
||||||
|
|
||||||
cdl = (index == -1) ? NULL : &(me->fdata.layers[index]);
|
cdl = (index == -1) ? NULL : &(me->pdata.layers[index]);
|
||||||
|
|
||||||
RNA_pointer_create(&me->id, &RNA_MeshStringPropertyLayer, cdl, &ptr);
|
RNA_pointer_create(&me->id, &RNA_MeshStringPropertyLayer, cdl, &ptr);
|
||||||
return ptr;
|
return ptr;
|
||||||
|
Loading…
Reference in New Issue
Block a user