summaryrefslogtreecommitdiff
path: root/src/netcomputer.cpp
diff options
context:
space:
mode:
authorYohann Ferreira <bertram@cegetel.net>2005-12-18 00:38:30 +0000
committerYohann Ferreira <bertram@cegetel.net>2005-12-18 00:38:30 +0000
commitca9f3f98a9d8bd718f11806a33e7a9a2ab284de5 (patch)
tree9625123c35209b2d42d9b85dac225b90b3be990a /src/netcomputer.cpp
parentb40a31f6c21ffc2f2e3acdbcd56b544ddfef6096 (diff)
downloadmanaserv-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.cpp12
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);
}