Perform a cleaner exit for resource preview, fixes #24206

This commit is contained in:
Juan Linietsky
2019-01-17 09:09:01 -03:00
parent 3b46e99a39
commit e8d31cc765
4 changed files with 26 additions and 10 deletions
+11 -4
View File
@@ -416,6 +416,16 @@ void EditorResourcePreview::check_for_invalidation(const String &p_path) {
}
}
void EditorResourcePreview::stop() {
if (thread) {
exit = true;
preview_sem->post();
Thread::wait_to_finish(thread);
memdelete(thread);
thread = NULL;
}
}
EditorResourcePreview::EditorResourcePreview() {
singleton = this;
preview_mutex = Mutex::create();
@@ -428,10 +438,7 @@ EditorResourcePreview::EditorResourcePreview() {
EditorResourcePreview::~EditorResourcePreview() {
exit = true;
preview_sem->post();
Thread::wait_to_finish(thread);
memdelete(thread);
stop();
memdelete(preview_mutex);
memdelete(preview_sem);
}