From bede6352c14bfc17f5941b56e791cf8c641427a8 Mon Sep 17 00:00:00 2001 From: crs Date: Mon, 5 Apr 2004 21:23:44 +0000 Subject: [PATCH] Fixed bug in handling rejection of screen with name that's already in use. The client was being correctly rejected but the already connected client was being forcefully disconnected too because the client to disconnect was found by looking up the client by name. We now instead look up the client by IClient*. --- lib/server/CServer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/server/CServer.cpp b/lib/server/CServer.cpp index 912272b6..27a8651a 100644 --- a/lib/server/CServer.cpp +++ b/lib/server/CServer.cpp @@ -1507,8 +1507,8 @@ bool CServer::removeClient(IClient* client) { // return false if not in list - CClientList::iterator i = m_clients.find(getName(client)); - if (i == m_clients.end()) { + CClientSet::iterator i = m_clientSet.find(client); + if (i == m_clientSet.end()) { return false; } @@ -1521,8 +1521,8 @@ CServer::removeClient(IClient* client) client->getEventTarget()); // remove from list - m_clients.erase(i); - m_clientSet.erase(client); + m_clients.erase(getName(client)); + m_clientSet.erase(i); return true; }