Skip to content

Commit 4bf961e

Browse files
committed
Merge pull request godotengine#92733 from raulsntos/core/memdelete-engine-later-but-not-that-late
Release Engine before unregistering core types
2 parents 241d45d + d1ab5d3 commit 4bf961e

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

main/main.cpp

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -838,13 +838,15 @@ void Main::test_cleanup() {
838838
if (globals) {
839839
memdelete(globals);
840840
}
841-
if (engine) {
842-
memdelete(engine);
843-
}
844841

845842
unregister_core_driver_types();
846843
unregister_core_extensions();
847844
uninitialize_modules(MODULE_INITIALIZATION_LEVEL_CORE);
845+
846+
if (engine) {
847+
memdelete(engine);
848+
}
849+
848850
unregister_core_types();
849851

850852
OS::get_singleton()->finalize_core();
@@ -2496,15 +2498,17 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
24962498
if (globals) {
24972499
memdelete(globals);
24982500
}
2499-
if (engine) {
2500-
memdelete(engine);
2501-
}
25022501
if (packed_data) {
25032502
memdelete(packed_data);
25042503
}
25052504

25062505
unregister_core_driver_types();
25072506
unregister_core_extensions();
2507+
2508+
if (engine) {
2509+
memdelete(engine);
2510+
}
2511+
25082512
unregister_core_types();
25092513

25102514
OS::get_singleton()->_cmdline.clear();
@@ -4365,12 +4369,13 @@ void Main::cleanup(bool p_force) {
43654369
unregister_core_driver_types();
43664370
unregister_core_extensions();
43674371
uninitialize_modules(MODULE_INITIALIZATION_LEVEL_CORE);
4368-
unregister_core_types();
43694372

43704373
if (engine) {
43714374
memdelete(engine);
43724375
}
43734376

4377+
unregister_core_types();
4378+
43744379
OS::get_singleton()->benchmark_end_measure("Shutdown", "Total");
43754380
OS::get_singleton()->benchmark_dump();
43764381

0 commit comments

Comments
 (0)