diff --git a/source/blender/editors/transform/transform_snap_object.cc b/source/blender/editors/transform/transform_snap_object.cc index c927394119f..452fb8763db 100644 --- a/source/blender/editors/transform/transform_snap_object.cc +++ b/source/blender/editors/transform/transform_snap_object.cc @@ -899,6 +899,12 @@ static eSnapMode snap_obj_fn(SnapObjectContext *sctx, } if (GS(ob_data->name) == ID_ME) { + if (ob_eval->type == OB_CURVES_LEGACY && BKE_object_is_in_editmode(ob_eval)) { + /* Sometimes, such as when Mesh is generated by Geometry Nodes, a Curve object may have Mesh + * instances. + * In these cases, skip the snap to Mesh if the Curve is in edit mode. */ + return SCE_SNAP_TO_NONE; + } return snap_object_mesh(sctx, ob_eval, ob_data, obmat, sctx->runtime.snap_to_flag, use_hide); }