diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-04-10 14:22:37 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-04-10 14:22:37 +0200 |
commit | 5c75fa260f21a77ec31bc87a15225a6226c3cb1f (patch) | |
tree | 88f2949ba44aa4f956772b840cf6f2b2e96930e4 | |
parent | 258f2705f6805b1eb691de529fb2d9ca5e2dd590 (diff) | |
parent | bafbde9f4ba00f3d4b7cee2fd5456191294ba174 (diff) | |
download | redot-engine-5c75fa260f21a77ec31bc87a15225a6226c3cb1f.tar.gz |
Merge pull request #90458 from clayjohn/RD-weight-buffer
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(); } } } |