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:
authorJacques Lucke <jacques@blender.org>2021-03-02 15:29:01 +0300
committerJacques Lucke <jacques@blender.org>2021-03-02 15:29:35 +0300
commitf094b4fa08c970c48ff8f70952ecb3adf353539b (patch)
tree219ddcdd9cd8df01e1682b94b17b6cedb5f38dcc /source/blender/blenkernel
parent1e7d8a4ad512236ebc3bfbc31d8e155a574dba07 (diff)
Fix T86172: check if attribute is actually accessible
The crash happened when the density in the Point Distribute node was above zero but so small, that no point was generated. In this case, there was a point cloud component, but the point cloud was empty, making some attributes unavailable. One could also make more attributes available in this case, but that can be done separately if necessary.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/attribute_access.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/attribute_access.cc b/source/blender/blenkernel/intern/attribute_access.cc
index 8974190d0e3..aeb7fba47e8 100644
--- a/source/blender/blenkernel/intern/attribute_access.cc
+++ b/source/blender/blenkernel/intern/attribute_access.cc
@@ -1886,7 +1886,7 @@ OutputAttributePtr GeometryComponent::attribute_try_get_for_output(const StringR
if (!attribute) {
this->attribute_try_create(attribute_name, domain, data_type);
attribute = this->attribute_try_get_for_write(attribute_name);
- if (default_value != nullptr) {
+ if (attribute && default_value != nullptr) {
void *data = attribute->get_span_for_write_only().data();
cpp_type->fill_initialized(default_value, data, attribute->size());
attribute->apply_span();