Fix SubViewport/AudioStreamPlayer2D crash

Updated Viewport destructor to remove itself from World2D, to avoid World2D keeping invalid pointers.
This commit is contained in:
aaronp64 2024-04-24 15:18:56 -04:00
parent 8120e0324a
commit 7a9acd5aca
1 changed files with 3 additions and 0 deletions

View File

@ -5048,6 +5048,9 @@ Viewport::~Viewport() {
for (ViewportTexture *E : viewport_textures) {
E->vp = nullptr;
}
if (world_2d.is_valid()) {
world_2d->remove_viewport(this);
}
ERR_FAIL_NULL(RenderingServer::get_singleton());
RenderingServer::get_singleton()->free(viewport);
}