Fix #79961: Outliner Data API crash with a MeshSkinVertex in editmode
When in mesh editmode, skin_vertices point to bmesh customdata, the skin_vertices data is empty since custom data is stored per element instead of a single array there (same es UVs etc.). Fix similar to3e2619b3e7,5179b8236b(basically disallowing the access in editmode). Pull Request: https://projects.blender.org/blender/blender/pulls/119149
This commit is contained in:
committed by
Philipp Oeser
parent
239395565a
commit
d5fe4c40ed
@@ -1219,13 +1219,14 @@ static void rna_MeshSkinVertexLayer_data_begin(CollectionPropertyIterator *iter,
|
||||
{
|
||||
Mesh *mesh = rna_mesh(ptr);
|
||||
CustomDataLayer *layer = (CustomDataLayer *)ptr->data;
|
||||
rna_iterator_array_begin(iter, layer->data, sizeof(MVertSkin), mesh->verts_num, 0, nullptr);
|
||||
rna_iterator_array_begin(
|
||||
iter, layer->data, sizeof(MVertSkin), (mesh->edit_mesh) ? 0 : mesh->verts_num, 0, nullptr);
|
||||
}
|
||||
|
||||
static int rna_MeshSkinVertexLayer_data_length(PointerRNA *ptr)
|
||||
{
|
||||
Mesh *mesh = rna_mesh(ptr);
|
||||
return mesh->verts_num;
|
||||
return (mesh->edit_mesh) ? 0 : mesh->verts_num;
|
||||
}
|
||||
|
||||
/* End skin vertices */
|
||||
|
||||
Reference in New Issue
Block a user