From 3180827387f3a0f240f911227fd42d93bb4c9b13 Mon Sep 17 00:00:00 2001 From: Marcelo Fernandez Date: Tue, 1 Aug 2017 18:09:52 -0300 Subject: [PATCH] Fix AudioServer::finish not getting called while quitting --- main/main.cpp | 1 + servers/audio_server.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/main/main.cpp b/main/main.cpp index 8960d85c45b..ed6ed019f40 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -1704,6 +1704,7 @@ void Main::cleanup() { #endif if (audio_server) { + audio_server->finish(); memdelete(audio_server); } diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp index 5303aea6d07..0d2550e53b3 100644 --- a/servers/audio_server.cpp +++ b/servers/audio_server.cpp @@ -66,7 +66,8 @@ void AudioDriver::audio_server_process(int p_frames, int32_t *p_buffer, bool p_u void AudioDriver::update_mix_time(int p_frames) { _mix_amount += p_frames; - _last_mix_time = OS::get_singleton()->get_ticks_usec(); + if (OS::get_singleton()) + _last_mix_time = OS::get_singleton()->get_ticks_usec(); } double AudioDriver::get_mix_time() const {