diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-07-31 18:57:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-31 18:57:46 +0200 |
commit | 037f7f70f40237db91b35a3f52bf7b3eb879e6d2 (patch) | |
tree | afb30b4d24d75234915bdb9f38605804c35b8c1f /servers | |
parent | 20d46c5b9ede7bfb9001d341ac20d8a30f49cba5 (diff) | |
parent | e8877806eceb7d4f5ddbe6fef4bef2f58ec3781a (diff) |
Merge pull request #51091 from qarmin/attempted_to_free
Fix 'Attempted to remove invalid ID' errors
Diffstat (limited to 'servers')
-rw-r--r-- | servers/rendering/renderer_rd/renderer_compositor_rd.cpp | 2 | ||||
-rw-r--r-- | servers/rendering/renderer_rd/shader_rd.cpp | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/servers/rendering/renderer_rd/renderer_compositor_rd.cpp b/servers/rendering/renderer_rd/renderer_compositor_rd.cpp index a7ee0dd141..02d548bf13 100644 --- a/servers/rendering/renderer_rd/renderer_compositor_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_compositor_rd.cpp @@ -222,7 +222,7 @@ void RendererCompositorRD::set_boot_image(const Ref<Image> &p_image, const Color RD::get_singleton()->swap_buffers(); - RD::get_singleton()->free(texture); + storage->free(texture); } RendererCompositorRD *RendererCompositorRD::singleton = nullptr; diff --git a/servers/rendering/renderer_rd/shader_rd.cpp b/servers/rendering/renderer_rd/shader_rd.cpp index 1b9f54d1c8..5bb12fc168 100644 --- a/servers/rendering/renderer_rd/shader_rd.cpp +++ b/servers/rendering/renderer_rd/shader_rd.cpp @@ -146,7 +146,9 @@ void ShaderRD::_clear_version(Version *p_version) { //clear versions if they exist if (p_version->variants) { for (int i = 0; i < variant_defines.size(); i++) { - RD::get_singleton()->free(p_version->variants[i]); + if (variants_enabled[i]) { + RD::get_singleton()->free(p_version->variants[i]); + } } memdelete_arr(p_version->variants); |