diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2009-05-15 12:09:45 +0200 |
---|---|---|
committer | Dennis Friis <peavey@inspircd.org> | 2009-05-17 04:32:24 +0200 |
commit | c7e57369f066ee9b7f9f62eacb19e2d10f8e13c5 (patch) | |
tree | 56337ed5e26b4345367bc1a6d8e3a1873ed7f2f1 /src/net | |
parent | 98eadea1f98f76237701d2ac44868847a18d13c2 (diff) | |
download | Mana-c7e57369f066ee9b7f9f62eacb19e2d10f8e13c5.tar.gz Mana-c7e57369f066ee9b7f9f62eacb19e2d10f8e13c5.tar.bz2 Mana-c7e57369f066ee9b7f9f62eacb19e2d10f8e13c5.tar.xz Mana-c7e57369f066ee9b7f9f62eacb19e2d10f8e13c5.zip |
Fixed a possible crash on logging in to the map server
The Game instance was created too late, in some cases after messages
were received by the BeingHandler. This caused crashes since the
BeingHandler tried to use the BeingManager, which hadn't been created
yet.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/ea/maphandler.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/net/ea/maphandler.cpp b/src/net/ea/maphandler.cpp index 76b3c480..c7ff0ec7 100644 --- a/src/net/ea/maphandler.cpp +++ b/src/net/ea/maphandler.cpp @@ -27,6 +27,7 @@ #include "net/messagein.h" #include "net/messageout.h" +#include "game.h" #include "localplayer.h" #include "log.h" #include "main.h" @@ -37,6 +38,7 @@ #include "utils/stringutils.h" Net::MapHandler *mapHandler; +extern Game *game; namespace EAthena { @@ -65,6 +67,7 @@ void MapHandler::handleMessage(MessageIn &msg) logger->log("Protocol: Player start position: (%d, %d), Direction: %d", player_node->mX, player_node->mY, direction); state = STATE_GAME; + game = new Game; break; case SMSG_SERVER_PING: |