diff -r 89e24edb6020 -r c01512115c12 netserver/hedgewars-server.hs --- a/netserver/hedgewars-server.hs Fri Nov 07 22:03:43 2008 +0000 +++ b/netserver/hedgewars-server.hs Sat Nov 08 11:54:46 2008 +0000 @@ -112,6 +112,7 @@ (Accept `fmap` readTChan acceptChan) `orElse` (ClientMessage `fmap` tselect clients) `orElse` (CoreMessage `fmap` readTChan messagesChan) + case r of Accept ci -> do let sameHostClients = filter (\cl -> host ci == host cl) clients @@ -123,12 +124,14 @@ writeTChan (chan ci) ["QUIT", "Reconnected too fast"] mainLoop acceptChan messagesChan (clients ++ [ci]) rooms + ClientMessage (cmd, client) -> do (clientsIn, mrooms) <- reactCmd cmd client clients rooms let hadRooms = (not $ null rooms) && (null mrooms) in unless ((not $ isDedicated globalOptions) && ((null clientsIn) || hadRooms)) $ mainLoop acceptChan messagesChan clientsIn mrooms + CoreMessage msg -> if not $ null $ clients then do