diff options
author | clayjohn <claynjohn@gmail.com> | 2024-04-09 17:52:05 -0700 |
---|---|---|
committer | clayjohn <claynjohn@gmail.com> | 2024-04-09 17:52:05 -0700 |
commit | bafbde9f4ba00f3d4b7cee2fd5456191294ba174 (patch) | |
tree | 9f55f56b356c5c1c154e8c7b11dc6695a762a029 | |
parent | 6c579280630715ff7da8310d405ef34194847294 (diff) | |
download | redot-engine-bafbde9f4ba00f3d4b7cee2fd5456191294ba174.tar.gz |
Clear RIDs of weight buffers when freeing to avoid double free
-rw-r--r-- | servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp b/servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp index c5d74d395f..b7934cb3de 100644 --- a/servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp +++ b/servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp @@ -130,9 +130,10 @@ void RenderSceneBuffersRD::cleanup() { named_textures.clear(); // Clear weight_buffer / blur textures. - for (const WeightBuffers &weight_buffer : weight_buffers) { + for (WeightBuffers &weight_buffer : weight_buffers) { if (weight_buffer.weight.is_valid()) { RD::get_singleton()->free(weight_buffer.weight); + weight_buffer.weight = RID(); } } } |