summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Haas <liu.gam3@gmail.com>2017-04-10 19:41:27 +0200
committerAndreas Haas <liu.gam3@gmail.com>2017-04-10 19:51:07 +0200
commit246dfc65ca22339a9092b07cd0af51a2ed9ac1f3 (patch)
treea037d1e542b2e17f98ddffde4d6c5bfa7bf38d50
parent551e64728f926f1f1ed558d930beead674ededc7 (diff)
Fix crash on exit.
First it crashed in the thread that checks for android devices, then in the audio driver.
-rw-r--r--platform/android/export/export.cpp7
-rw-r--r--servers/audio_server.cpp4
2 files changed, 11 insertions, 0 deletions
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp
index 78c28ede50..72d665329e 100644
--- a/platform/android/export/export.cpp
+++ b/platform/android/export/export.cpp
@@ -3532,6 +3532,13 @@ public:
devices_changed = true;
quit_request = false;
}
+
+ ~EditorExportAndroid() {
+ quit_request = true;
+ Thread::wait_to_finish(device_thread);
+ memdelete(device_lock);
+ memdelete(device_thread);
+ }
};
void register_android_exporter() {
diff --git a/servers/audio_server.cpp b/servers/audio_server.cpp
index 1b1ed45862..f3bba4ae90 100644
--- a/servers/audio_server.cpp
+++ b/servers/audio_server.cpp
@@ -761,6 +761,10 @@ void AudioServer::finish() {
}
buses.clear();
+
+ if (AudioDriver::get_singleton()) {
+ AudioDriver::get_singleton()->finish();
+ }
}
void AudioServer::update() {
}