1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Merge pull request #57904 from V-Sekai/fix_double_free_warning

Fixes some 'Attempted to free invalid ID' warnings in mobile renderer
This commit is contained in:
Rémi Verschelde
2022-02-15 08:30:44 +01:00
committed by GitHub

View File

@@ -1818,11 +1818,14 @@ void RendererSceneRenderRD::_free_render_buffer_data(RenderBuffers *rb) {
if (rb->blur[i].mipmaps[m].fb.is_valid()) { if (rb->blur[i].mipmaps[m].fb.is_valid()) {
RD::get_singleton()->free(rb->blur[i].mipmaps[m].fb); RD::get_singleton()->free(rb->blur[i].mipmaps[m].fb);
} }
if (rb->blur[i].mipmaps[m].half_fb.is_valid()) { // texture and framebuffer in both blur mipmaps are shared, so only free from the first one
RD::get_singleton()->free(rb->blur[i].mipmaps[m].half_fb); if (i == 0) {
} if (rb->blur[i].mipmaps[m].half_fb.is_valid()) {
if (rb->blur[i].mipmaps[m].half_texture.is_valid()) { RD::get_singleton()->free(rb->blur[i].mipmaps[m].half_fb);
RD::get_singleton()->free(rb->blur[i].mipmaps[m].half_texture); }
if (rb->blur[i].mipmaps[m].half_texture.is_valid()) {
RD::get_singleton()->free(rb->blur[i].mipmaps[m].half_texture);
}
} }
} }
rb->blur[i].mipmaps.clear(); rb->blur[i].mipmaps.clear();