Fix T87969: crash accesing FaceMaps / PaintMask data in editmode
Workaround for crash when accessing FaceMaps / PaintMask data in editmode, just disallow access in editmode as is done with UVs. Same fix as in {rB3e2619b3e72a}. Maniphest Tasks: T87969 Differential Revision: https://developer.blender.org/D11146
This commit is contained in:
parent
04b90ee18a
commit
04905c5652
Notes:
blender-bot
2023-02-14 11:21:43 +01:00
Referenced by issue #87969, Crash: Editmode + facemap + looking at facemap data through Data API (Outliner)
|
@ -958,13 +958,13 @@ static void rna_MeshPaintMaskLayer_data_begin(CollectionPropertyIterator *iter,
|
|||
{
|
||||
Mesh *me = rna_mesh(ptr);
|
||||
CustomDataLayer *layer = (CustomDataLayer *)ptr->data;
|
||||
rna_iterator_array_begin(iter, layer->data, sizeof(MFloatProperty), me->totvert, 0, NULL);
|
||||
rna_iterator_array_begin(iter, layer->data, sizeof(MFloatProperty), (me->edit_mesh) ? 0 : me->totvert, 0, NULL);
|
||||
}
|
||||
|
||||
static int rna_MeshPaintMaskLayer_data_length(PointerRNA *ptr)
|
||||
{
|
||||
Mesh *me = rna_mesh(ptr);
|
||||
return me->totvert;
|
||||
return (me->edit_mesh) ? 0 : me->totvert;
|
||||
}
|
||||
|
||||
/* End paint mask */
|
||||
|
@ -987,13 +987,13 @@ static void rna_MeshFaceMapLayer_data_begin(CollectionPropertyIterator *iter, Po
|
|||
{
|
||||
Mesh *me = rna_mesh(ptr);
|
||||
CustomDataLayer *layer = (CustomDataLayer *)ptr->data;
|
||||
rna_iterator_array_begin(iter, layer->data, sizeof(int), me->totpoly, 0, NULL);
|
||||
rna_iterator_array_begin(iter, layer->data, sizeof(int), (me->edit_mesh) ? 0 : me->totpoly, 0, NULL);
|
||||
}
|
||||
|
||||
static int rna_MeshFaceMapLayer_data_length(PointerRNA *ptr)
|
||||
{
|
||||
Mesh *me = rna_mesh(ptr);
|
||||
return me->totpoly;
|
||||
return (me->edit_mesh) ? 0 : me->totpoly;
|
||||
}
|
||||
|
||||
static PointerRNA rna_Mesh_face_map_new(struct Mesh *me, ReportList *reports, const char *name)
|
||||
|
|
Loading…
Reference in New Issue