diff options
Diffstat (limited to 'StarsEx/StarServer.cpp')
-rw-r--r-- | StarsEx/StarServer.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/StarsEx/StarServer.cpp b/StarsEx/StarServer.cpp index fa0743d..eea6784 100644 --- a/StarsEx/StarServer.cpp +++ b/StarsEx/StarServer.cpp @@ -57,7 +57,7 @@ // +--------------------------------------------------------------------+ -StarServer* StarServer::instance = 0; +StarServer* StarServer::instance {nullptr}; static Mission* current_mission = 0; static double time_til_change = 0; @@ -69,7 +69,8 @@ StarServer::StarServer() : loader(0), time_mark(0), minutes(0), admin_server(0), lobby_server(0) { - if (!instance) + if (instance != nullptr) + throw "StarServer may have only one instance"; instance = this; server = true; @@ -96,6 +97,7 @@ admin_server(0), lobby_server(0) loader->EnableMedia(false); } + StarServer::~StarServer() { delete admin_server; @@ -124,9 +126,10 @@ StarServer::~StarServer() NetServerConfig::Close(); ModConfig::Close(); - instance = 0; - server = false; + + if (instance == this) + instance = nullptr; } // +--------------------------------------------------------------------+ |