diff options
author | Yohann Ferreira <bertram@cegetel.net> | 2005-12-18 00:38:30 +0000 |
---|---|---|
committer | Yohann Ferreira <bertram@cegetel.net> | 2005-12-18 00:38:30 +0000 |
commit | ca9f3f98a9d8bd718f11806a33e7a9a2ab284de5 (patch) | |
tree | 9625123c35209b2d42d9b85dac225b90b3be990a /src/netcomputer.cpp | |
parent | b40a31f6c21ffc2f2e3acdbcd56b544ddfef6096 (diff) | |
download | manaserv-ca9f3f98a9d8bd718f11806a33e7a9a2ab284de5.tar.gz manaserv-ca9f3f98a9d8bd718f11806a33e7a9a2ab284de5.tar.bz2 manaserv-ca9f3f98a9d8bd718f11806a33e7a9a2ab284de5.tar.xz manaserv-ca9f3f98a9d8bd718f11806a33e7a9a2ab284de5.zip |
Made the handlers use the countedPtr for Beings as they should. Fixed a segfault when removing a being from the world.
Diffstat (limited to 'src/netcomputer.cpp')
-rw-r--r-- | src/netcomputer.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/netcomputer.cpp b/src/netcomputer.cpp index ff1c93a1..c00061fc 100644 --- a/src/netcomputer.cpp +++ b/src/netcomputer.cpp @@ -54,13 +54,13 @@ void NetComputer::setAccount(tmwserv::Account *acc) account = acc; } -void NetComputer::setCharacter(tmwserv::Being *ch) +void NetComputer::setCharacter(tmwserv::BeingPtr ch) { tmwserv::State &state = tmwserv::State::instance(); - if (character != NULL) + if (character.get() != NULL) { // Remove being from the world : This is buggy for now. - //state.removeBeing(character); + state.removeBeing(character); } character = ch; state.addBeing(character, character->getMap()); @@ -75,8 +75,8 @@ void NetComputer::unsetAccount() void NetComputer::unsetCharacter() { // remove being from world - //tmwserv::State &state = tmwserv::State::instance(); - //state.removeBeing(character); - character = NULL; + tmwserv::State &state = tmwserv::State::instance(); + state.removeBeing(character); + character = tmwserv::BeingPtr(NULL); } |