diff options
Diffstat (limited to 'src/net/manaserv/generalhandler.cpp')
-rw-r--r-- | src/net/manaserv/generalhandler.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/net/manaserv/generalhandler.cpp b/src/net/manaserv/generalhandler.cpp index 0e030aa8..454052f7 100644 --- a/src/net/manaserv/generalhandler.cpp +++ b/src/net/manaserv/generalhandler.cpp @@ -122,8 +122,20 @@ void GeneralHandler::load() void GeneralHandler::reload() { - static_cast<CharHandler*>(mCharHandler.get())->setCharCreateDialog(0); - static_cast<CharHandler*>(mCharHandler.get())->setCharSelectDialog(0); + static_cast<CharHandler*>(Net::getCharHandler())->clear(); + + if (accountServerConnection) + accountServerConnection->disconnect(); + + if (gameServerConnection) + gameServerConnection->disconnect(); + + if (chatServerConnection) + chatServerConnection->disconnect(); + + netToken.clear(); + gameServer.clear(); + chatServer.clear(); } void GeneralHandler::unload() |