diff --git a/platform/iphone/os_iphone.cpp b/platform/iphone/os_iphone.cpp index 3bfb47addd8a..300f3d706c38 100644 --- a/platform/iphone/os_iphone.cpp +++ b/platform/iphone/os_iphone.cpp @@ -371,9 +371,14 @@ void OSIPhone::delete_main_loop() { void OSIPhone::finalize() { + audio_driver->finish(); + if (main_loop) // should not happen? memdelete(main_loop); + audio_server->finish(); + memdelete(audio_server); + visual_server->finish(); memdelete(visual_server); memdelete(rasterizer); diff --git a/servers/audio/audio_server_sw.cpp b/servers/audio/audio_server_sw.cpp index 283dde28064e..9f095b31705f 100644 --- a/servers/audio/audio_server_sw.cpp +++ b/servers/audio/audio_server_sw.cpp @@ -726,7 +726,8 @@ void AudioServerSW::_thread_func(void *self) { while (!as->exit_update_thread) { as->_update_streams(true); - OS::get_singleton()->delay_usec(5000); + if (OS::get_singleton()) + OS::get_singleton()->delay_usec(5000); } }