From dad43e916ca12b5d93c5af06737b41715784c409 Mon Sep 17 00:00:00 2001 From: Mike Thomas Date: Thu, 18 Mar 2010 00:30:47 +0000 Subject: [PATCH] If a player gets yanked out of a game during the period where everyone's arriving, we weren't noticing that they were gone and were still playing along, sending them events, etc. So, if we're in pre-game, and someone disappears, let's note that. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@904 c613c5cb-e716-0410-b11b-feb51c14d237 --- src/java/com/threerings/parlor/game/server/GameManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/java/com/threerings/parlor/game/server/GameManager.java b/src/java/com/threerings/parlor/game/server/GameManager.java index ecc43afc..7ced0d76 100644 --- a/src/java/com/threerings/parlor/game/server/GameManager.java +++ b/src/java/com/threerings/parlor/game/server/GameManager.java @@ -874,6 +874,10 @@ public class GameManager extends PlaceManager _gameobj.isActivePlayer(pidx)) { // end the player's game if they bail on an in-progress game endPlayerGame(pidx); + } else if (pidx != -1 && _gameobj.state == GameObject.PRE_GAME) { + // Don't need to stop their game, since it isn't going, but DO need to register that + // they've left the building. + _playerOids[pidx] = 0; } // then complete the bodyLeft() processing which may result in a call to placeBecameEmpty()