[Bf-blender-cvs] [985d005b93c] cycles_texture_cache: Fix T87969: crash accesing FaceMaps / PaintMask data in editmode
Philipp Oeser
noreply at git.blender.org
Thu May 6 11:25:37 CEST 2021
Commit: 985d005b93cc73ae7c292f88e037e3e3ae072379
Author: Philipp Oeser
Date: Mon May 3 14:21:26 2021 +0200
Branches: cycles_texture_cache
https://developer.blender.org/rB985d005b93cc73ae7c292f88e037e3e3ae072379
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
===================================================================
M source/blender/makesrna/intern/rna_mesh.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index 03b3d92eea8..997999d1c1d 100644
--- a/source/blender/makesrna/intern/rna_mesh.c
+++ b/source/blender/makesrna/intern/rna_mesh.c
@@ -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)
More information about the Bf-blender-cvs
mailing list