From 511829351ce430f828cf7f4dd73ac56dd94d32d8 Mon Sep 17 00:00:00 2001 From: Kinglykrab Date: Fri, 20 Jun 2025 22:55:57 -0400 Subject: [PATCH] [Code] DatabaseUpdate Global to Singleton Cleanup --- common/database/database_update.h | 7 +++++++ zone/main.cpp | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/common/database/database_update.h b/common/database/database_update.h index 03d55d5ea..a445422bc 100644 --- a/common/database/database_update.h +++ b/common/database/database_update.h @@ -33,6 +33,13 @@ public: DatabaseUpdate *SetContentDatabase(Database *db); DatabaseUpdate *SetSkipBackup(bool skip); bool HasPendingUpdates(); + + static DatabaseUpdate* Instance() + { + static DatabaseUpdate instance; + return &instance; + } + private: bool m_skip_backup = false; Database *m_database; diff --git a/zone/main.cpp b/zone/main.cpp index 0f9abef3f..9f644f04e 100644 --- a/zone/main.cpp +++ b/zone/main.cpp @@ -109,7 +109,6 @@ ZoneEventScheduler event_scheduler; WorldContentService content_service; PathManager path; PlayerEventLogs player_event_logs; -DatabaseUpdate database_update; SkillCaps skill_caps; EvolvingItemsManager evolving_items_manager; @@ -320,7 +319,7 @@ int main(int argc, char **argv) const auto c = EQEmuConfig::get(); if (c->auto_database_updates) { - if (database_update.SetDatabase(&database)->HasPendingUpdates()) { + if (DatabaseUpdate::Instance()->SetDatabase(&database)->HasPendingUpdates()) { LogWarning("Database is not up to date [world] needs to be ran to apply updates, shutting down in 5 seconds"); std::this_thread::sleep_for(std::chrono::milliseconds(5000)); LogInfo("Exiting due to pending database updates");