diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2022-04-05 02:13:04 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2022-04-05 02:17:34 +0200 |
commit | 099b024a2b31e8be856450bac7e16c1fb9a9cf78 (patch) | |
tree | 20684087767aed25aecf144ca5616d1b82dffdc7 /core/math | |
parent | af2c8fbcb621364fad45d634b10727b010e0c3b4 (diff) | |
download | redot-engine-099b024a2b31e8be856450bac7e16c1fb9a9cf78.tar.gz |
Fix DynamicBVH crash after #59867
I made a wrong assumption that initialization the other pointer in the
union would properly initialize the `childs` array.
Diffstat (limited to 'core/math')
-rw-r--r-- | core/math/dynamic_bvh.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/math/dynamic_bvh.h b/core/math/dynamic_bvh.h index 74831089f3..50ec2c2b30 100644 --- a/core/math/dynamic_bvh.h +++ b/core/math/dynamic_bvh.h @@ -183,7 +183,7 @@ private: Node *parent = nullptr; union { Node *childs[2]; - void *data = nullptr; + void *data; }; _FORCE_INLINE_ bool is_leaf() const { return childs[1] == nullptr; } @@ -215,7 +215,10 @@ private: return axis.dot(volume.get_center() - org) <= 0; } - Node() {} + Node() { + childs[0] = nullptr; + childs[1] = nullptr; + } }; PagedAllocator<Node> node_allocator; |