Make glue generation shutdown more graceful
This commit is contained in:
parent
d4d7535524
commit
23907e6f19
3 changed files with 8 additions and 3 deletions
|
@ -2561,8 +2561,10 @@ void Main::force_redraw() {
|
||||||
* so that the engine closes cleanly without leaking memory or crashing.
|
* so that the engine closes cleanly without leaking memory or crashing.
|
||||||
* The order matters as some of those steps are linked with each other.
|
* The order matters as some of those steps are linked with each other.
|
||||||
*/
|
*/
|
||||||
void Main::cleanup() {
|
void Main::cleanup(bool p_force) {
|
||||||
ERR_FAIL_COND(!_start_success);
|
if (!p_force) {
|
||||||
|
ERR_FAIL_COND(!_start_success);
|
||||||
|
}
|
||||||
|
|
||||||
EngineDebugger::deinitialize();
|
EngineDebugger::deinitialize();
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ public:
|
||||||
|
|
||||||
static bool is_iterating();
|
static bool is_iterating();
|
||||||
|
|
||||||
static void cleanup();
|
static void cleanup(bool p_force = false);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Test main override is for the testing behaviour.
|
// Test main override is for the testing behaviour.
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "core/os/file_access.h"
|
#include "core/os/file_access.h"
|
||||||
#include "core/os/os.h"
|
#include "core/os/os.h"
|
||||||
#include "core/string/ucaps.h"
|
#include "core/string/ucaps.h"
|
||||||
|
#include "main/main.h"
|
||||||
|
|
||||||
#include "../glue/cs_glue_version.gen.h"
|
#include "../glue/cs_glue_version.gen.h"
|
||||||
#include "../godotsharp_defs.h"
|
#include "../godotsharp_defs.h"
|
||||||
|
@ -3649,6 +3650,7 @@ void BindingsGenerator::handle_cmdline_args(const List<String> &p_cmdline_args)
|
||||||
|
|
||||||
if (!bindings_generator.initialized) {
|
if (!bindings_generator.initialized) {
|
||||||
ERR_PRINT("Failed to initialize the bindings generator");
|
ERR_PRINT("Failed to initialize the bindings generator");
|
||||||
|
Main::cleanup(true);
|
||||||
::exit(0);
|
::exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3675,6 +3677,7 @@ void BindingsGenerator::handle_cmdline_args(const List<String> &p_cmdline_args)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exit once done
|
// Exit once done
|
||||||
|
Main::cleanup(true);
|
||||||
::exit(0);
|
::exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue