Merge pull request #102677 from stuartcarnie/free_invalid_id

2D: Fix free of invalid ID
This commit is contained in:
Rémi Verschelde 2025-02-11 23:59:19 +01:00
commit cfe0fd62d0

View File

@ -3299,6 +3299,8 @@ void RendererCanvasRenderRD::_prepare_batch_texture_info(RID p_texture, TextureS
RendererCanvasRenderRD::~RendererCanvasRenderRD() {
RendererRD::MaterialStorage *material_storage = RendererRD::MaterialStorage::get_singleton();
RendererRD::TextureStorage *texture_storage = RendererRD::TextureStorage::get_singleton();
//canvas state
material_storage->material_free(default_canvas_group_material);
@ -3346,7 +3348,9 @@ RendererCanvasRenderRD::~RendererCanvasRenderRD() {
}
}
RendererRD::TextureStorage::get_singleton()->canvas_texture_free(default_canvas_texture);
// Disable the callback, as we're tearing everything down
texture_storage->canvas_texture_set_invalidation_callback(default_canvas_texture, nullptr, nullptr);
texture_storage->canvas_texture_free(default_canvas_texture);
//pipelines don't need freeing, they are all gone after shaders are gone
memdelete(shader.default_version_data);