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
path: root/source
diff options
context:
space:
mode:
authorWannes Malfait <Wannes>2021-10-12 18:58:38 +0300
committerHans Goudey <h.goudey@me.com>2021-10-12 18:58:38 +0300
commit5e3877e0c8560f27a5cd7b303666b235fb148165 (patch)
tree67a0b92f41ae8370abccabdd39bf42abeb5189d8 /source
parent0c7e836a1da0e637187d1d0c2cde9d6d89a6d0df (diff)
Fix T92149: Crash in delete geometry node after curve fill node
There was only a check for the component but not for if it was empty. Because the curve fill node produces an empty curve component, a nullptr was read, causing a crash. Generally nodes shouldn't produce empty components, but currently we cannot rely on that fact. Differential Revision: https://developer.blender.org/D12838
Diffstat (limited to 'source')
-rw-r--r--source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc b/source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc
index e4f6d3d766e..25f0d355c9e 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc
@@ -1156,19 +1156,19 @@ void separate_geometry(GeometrySet &geometry_set,
bool &r_is_error)
{
bool some_valid_domain = false;
- if (geometry_set.has<PointCloudComponent>()) {
+ if (geometry_set.has_pointcloud()) {
if (domain == ATTR_DOMAIN_POINT) {
separate_point_cloud_selection(geometry_set, selection_field, invert);
some_valid_domain = true;
}
}
- if (geometry_set.has<MeshComponent>()) {
+ if (geometry_set.has_mesh()) {
if (domain != ATTR_DOMAIN_CURVE) {
separate_mesh_selection(geometry_set, selection_field, domain, mode, invert);
some_valid_domain = true;
}
}
- if (geometry_set.has<CurveComponent>()) {
+ if (geometry_set.has_curve()) {
if (ELEM(domain, ATTR_DOMAIN_POINT, ATTR_DOMAIN_CURVE)) {
separate_curve_selection(geometry_set, selection_field, domain, invert);
some_valid_domain = true;