From 0999f6368c95a1fe4e8c644b63580840387e4335 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sat, 28 Mar 2009 02:05:19 -0400 Subject: Cleanup the active list if the client code fails to enter the arena --- sigencore/Player.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'sigencore') diff --git a/sigencore/Player.cpp b/sigencore/Player.cpp index ebd9c7b4..a5113ab9 100644 --- a/sigencore/Player.cpp +++ b/sigencore/Player.cpp @@ -63,7 +63,13 @@ bool Player::enterArena(Arena* arena) member->makeActive(arena); } } - return (m_active.size() && Client::enterArena(arena)); + if (m_active.size() && !Client::enterArena(arena)) + { + foreach (TeamMember* member, m_active) + member->exitArena(); + m_active.clear(); + } + return m_active.size(); } void Player::exitArena() -- cgit