diff options
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp index 4a02e532d..0c1db63ea 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -110,7 +110,7 @@ class UplinkSocket : public ConnectionSocket ~UplinkSocket() { - if (Me && Me->GetUplink() && Me->GetUplink()->IsSynced()) + if (Me && !Me->GetLinks().empty() && Me->GetLinks()[0]->IsSynced()) { FOREACH_MOD(I_OnServerDisconnect, OnServerDisconnect()); @@ -397,6 +397,8 @@ int main(int ac, char **av, char **envp) quitmsg = "Terminating, reason unknown"; Log() << quitmsg; + delete UplinkSock; + ModuleManager::UnloadAll(); SocketEngine::Shutdown(); for (Module *m; (m = ModuleManager::FindFirstOf(PROTOCOL)) != NULL;) |