Perform a cleaner exit for resource preview, fixes #24206
This commit is contained in:
parent
3b46e99a39
commit
e8d31cc765
4 changed files with 26 additions and 10 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue