Fix T86308 Crash in Exact Boolean when have custom normal layer.

Custom Normal layers can't be interpolated, so needed a check
for non-interpolatable layers before trying to interpolate.
This commit is contained in:
Howard Trickey
2021-03-06 09:05:55 -05:00
parent 11efc9087b
commit cfd766cebd

View File

@@ -611,6 +611,9 @@ static void copy_or_interp_loop_attributes(Mesh *dest_mesh,
* A non bmesh version could have the benefit of not copying data into src_blocks_ofs -
* using the contiguous data instead. TODO: add to the custom data API. */
int target_layer_type_index = CustomData_get_named_layer(target_cd, ty, name);
if (!CustomData_layer_has_interp(source_cd, source_layer_i)) {
continue;
}
int source_layer_type_index = source_layer_i - source_cd->typemap[ty];
BLI_assert(target_layer_type_index != -1 && source_layer_type_index >= 0);
for (int j = 0; j < orig_mp->totloop; ++j) {