diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-11-19 10:06:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-19 10:06:51 +0100 |
commit | 68f24175286ec26a4a9a1566d8e25a1fbe6f4caa (patch) | |
tree | 3c5c0059384ec331d0c25f9bf443b207e0523fe4 | |
parent | 05b17d3dbfe6b4bfe7e16655949a3b130af4a8f1 (diff) | |
parent | bce3e2c3f6061f10599f4dc0f8143315e15142b5 (diff) |
Merge pull request #43665 from Nickswoboda/fix-invalid-free
Check uniform set validity before freeing
-rw-r--r-- | servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp index e1be9b0ef4..da2b00b7a7 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp @@ -1471,7 +1471,9 @@ void RasterizerSceneRD::_setup_giprobes(RID p_render_buffers, const Transform &p } if (giprobes_changed) { - RD::get_singleton()->free(rb->gi_uniform_set); + if (RD::get_singleton()->uniform_set_is_valid(rb->gi_uniform_set)) { + RD::get_singleton()->free(rb->gi_uniform_set); + } rb->gi_uniform_set = RID(); if (rb->volumetric_fog) { if (RD::get_singleton()->uniform_set_is_valid(rb->volumetric_fog->uniform_set)) { |