Fix T93611: Curve modifier crash in editmode in certain situations
Caused by {rB3b6ee8cee708} Above commit was trying to get the vertexgroup from the mesh that is passed into `deformVertsEM` (but that can be NULL). When can it be NULL, when is is non-NULL? `editbmesh_calc_modifiers` only passes in a non-NULL mesh to `deformVertsEM` under certain conditions: - a non-deform-only modifier is handled currently - a non-deform-only modifier preceeds the current modifier - a deform-only modifier preceeds the current modifier (and the current one depends on normals) So the passed-in mesh cannot be relied on, now get the vertex group from the context object data (like it was before the culprit commit). Related commit: rB8f22feefbc20 Maniphest Tasks: T93611 Differential Revision: https://developer.blender.org/D13487
This commit is contained in:
parent
4c8b93c5c2
commit
46f5b305e4
Notes:
blender-bot
2023-02-14 09:33:11 +01:00
Referenced by issue #93611, Crash on edit mesh with a curve modifier with both a vertex group assigned and the edit mode display option enabled Referenced by issue #93479, 3.0 Potential candidates for corrective releases
|
@ -167,7 +167,7 @@ static void deformVertsEM(ModifierData *md,
|
|||
int defgrp_index = -1;
|
||||
|
||||
if (ctx->object->type == OB_MESH && cmd->name[0] != '\0') {
|
||||
defgrp_index = BKE_id_defgroup_name_index(&mesh->id, cmd->name);
|
||||
defgrp_index = BKE_object_defgroup_name_index(ctx->object, cmd->name);
|
||||
if (defgrp_index != -1) {
|
||||
use_dverts = true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue