Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2021-12-06 13:33:16 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2021-12-06 17:20:30 +0300
commit0e52af097f9f08f6e4483795e82a5f75389d0e6e (patch)
tree226c0b9eb0abf83b9efaa744d18da05a0a891f4b /source/blender/modifiers
parent989d510e3e25ec0fc42147613ee224bdc3831077 (diff)
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
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r--source/blender/modifiers/intern/MOD_curve.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c
index aae6d257766..20dbb299767 100644
--- a/source/blender/modifiers/intern/MOD_curve.c
+++ b/source/blender/modifiers/intern/MOD_curve.c
@@ -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;
}