Переглянути джерело

Fix AudioServer::finish not getting called while quitting

Marcelo Fernandez 8 роки тому
батько
коміт
3180827387
2 змінених файлів з 3 додано та 1 видалено
  1. 1 0
      main/main.cpp
  2. 2 1
      servers/audio_server.cpp

+ 1 - 0
main/main.cpp

@@ -1704,6 +1704,7 @@ void Main::cleanup() {
 #endif
 #endif
 
 
 	if (audio_server) {
 	if (audio_server) {
+		audio_server->finish();
 		memdelete(audio_server);
 		memdelete(audio_server);
 	}
 	}
 
 

+ 2 - 1
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) {
 void AudioDriver::update_mix_time(int p_frames) {
 
 
 	_mix_amount += 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 {
 double AudioDriver::get_mix_time() const {