summaryrefslogtreecommitdiffstats
path: root/servers
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-04-10 14:22:37 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-04-10 14:22:37 +0200
commit5c75fa260f21a77ec31bc87a15225a6226c3cb1f (patch)
tree88f2949ba44aa4f956772b840cf6f2b2e96930e4 /servers
parent258f2705f6805b1eb691de529fb2d9ca5e2dd590 (diff)
parentbafbde9f4ba00f3d4b7cee2fd5456191294ba174 (diff)
downloadredot-engine-5c75fa260f21a77ec31bc87a15225a6226c3cb1f.tar.gz
Merge pull request #90458 from clayjohn/RD-weight-buffer
Clear RIDs of weight buffers when freeing to avoid double free
Diffstat (limited to 'servers')
-rw-r--r--servers/rendering/renderer_rd/storage_rd/render_scene_buffers_rd.cpp3
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();
}
}
}