diff --git a/src/java/com/threerings/presents/peer/server/PeerManager.java b/src/java/com/threerings/presents/peer/server/PeerManager.java index cf3fe095b..362ebeee2 100644 --- a/src/java/com/threerings/presents/peer/server/PeerManager.java +++ b/src/java/com/threerings/presents/peer/server/PeerManager.java @@ -546,7 +546,7 @@ public class PeerManager Name username = client.getCredentials().getUsername(); for (ClientInfo clinfo : _nodeobj.clients) { if (clinfo.username.equals(username)) { - _nodeobj.removeFromClients(clinfo.getKey()); + clearClientInfo(client, clinfo); return; } } @@ -741,6 +741,14 @@ public class PeerManager info.username = client.getCredentials().getUsername(); } + /** + * Called when a client ends their session to clear their information from our node object. + */ + protected void clearClientInfo (PresentsClient client, ClientInfo info) + { + _nodeobj.removeFromClients(info.getKey()); + } + /** * Creates a {@link PeerNode} to manage our connection to the specified peer. */