Main::cleanup: Move MessageQueue deletion further down where it's safer
Partial revert of #15702 which triggered the issue.
Fixes #39786.
(cherry picked from commit 6480efba45
)
This commit is contained in:
parent
6dee6477dd
commit
530307e7ec
1 changed files with 5 additions and 1 deletions
|
@ -2219,8 +2219,8 @@ void Main::cleanup() {
|
|||
ResourceLoader::remove_custom_loaders();
|
||||
ResourceSaver::remove_custom_savers();
|
||||
|
||||
// Flush before uninitializing the scene, but delete the MessageQueue as late as possible.
|
||||
message_queue->flush();
|
||||
memdelete(message_queue);
|
||||
|
||||
if (script_debugger) {
|
||||
if (use_debug_profiler) {
|
||||
|
@ -2297,6 +2297,10 @@ void Main::cleanup() {
|
|||
OS::get_singleton()->set_restart_on_exit(false, List<String>()); //clear list (uses memory)
|
||||
}
|
||||
|
||||
// Now should be safe to delete MessageQueue (famous last words).
|
||||
message_queue->flush();
|
||||
memdelete(message_queue);
|
||||
|
||||
unregister_core_driver_types();
|
||||
unregister_core_types();
|
||||
|
||||
|
|
Loading…
Reference in a new issue