Merge pull request #87635 from rune-scape/manage-time-singleton

Manage time singleton in `register_core_types`
This commit is contained in:
Rémi Verschelde 2024-02-12 13:34:13 +01:00
commit 62143552f3
No known key found for this signature in database
GPG Key ID: C3336907360768E1
3 changed files with 3 additions and 11 deletions

View File

@ -189,9 +189,6 @@ static const uint8_t MONTH_DAYS_TABLE[2][12] = {
Time *Time::singleton = nullptr;
Time *Time::get_singleton() {
if (!singleton) {
memnew(Time);
}
return singleton;
}

View File

@ -102,6 +102,7 @@ static core_bind::Marshalls *_marshalls = nullptr;
static core_bind::EngineDebugger *_engine_debugger = nullptr;
static IP *ip = nullptr;
static Time *_time = nullptr;
static core_bind::Geometry2D *_geometry_2d = nullptr;
static core_bind::Geometry3D *_geometry_3d = nullptr;
@ -128,6 +129,7 @@ void register_core_types() {
ObjectDB::setup();
StringName::setup();
_time = memnew(Time);
ResourceLoader::initialize();
register_global_constants();
@ -436,6 +438,7 @@ void unregister_core_types() {
ResourceLoader::finalize();
ClassDB::cleanup_defaults();
memdelete(_time);
ObjectDB::cleanup();
Variant::unregister_types();

View File

@ -132,7 +132,6 @@ static InputMap *input_map = nullptr;
static TranslationServer *translation_server = nullptr;
static Performance *performance = nullptr;
static PackedData *packed_data = nullptr;
static Time *time_singleton = nullptr;
#ifdef MINIZIP_ENABLED
static ZipArchive *zip_packed_data = nullptr;
#endif
@ -870,7 +869,6 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
MAIN_PRINT("Main: Initialize Globals");
input_map = memnew(InputMap);
time_singleton = memnew(Time);
globals = memnew(ProjectSettings);
register_core_settings(); //here globals are present
@ -2365,9 +2363,6 @@ error:
if (input_map) {
memdelete(input_map);
}
if (time_singleton) {
memdelete(time_singleton);
}
if (translation_server) {
memdelete(translation_server);
}
@ -4155,9 +4150,6 @@ void Main::cleanup(bool p_force) {
if (input_map) {
memdelete(input_map);
}
if (time_singleton) {
memdelete(time_singleton);
}
if (translation_server) {
memdelete(translation_server);
}