summaryrefslogtreecommitdiffhomepage
path: root/StarsEx/StarServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'StarsEx/StarServer.cpp')
-rw-r--r--StarsEx/StarServer.cpp11
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;
}
// +--------------------------------------------------------------------+