=== LocalPlayer.lua ================================================================== --- LocalPlayer.lua (revision 38413) +++ LocalPlayer.lua (local) @@ -184,21 +184,39 @@ function connectToServer(self, server) - -- close any previous connection - self.slimproto:disconnect() - -- make sure the server we are connecting to is awake - server:wakeOnLan() + if not server then + log:error("No server passed to connectToServer() method") + return false + end - log:debug("connectToServer: ", server) - if server then + if self:needsMusicSource() then + + -- close any previous connection + self.slimproto:disconnect() + + -- make sure the server we are connecting to is awake + server:wakeOnLan() + + log:debug("connectToServer: ", server) server:addLocallyRequestedServer(server) - + self.slimproto:connect(server) + else + local ip, port = server:getIpPort() + + --disconnect else serverstatus not being sent (TW: but how to force a serverstatus instead) + server:disconnect() + -- XXX: Alan, maybe the disconnect should be a slimproto disconnect instead here? + -- self.slimproto:disconnect() + + server:addLocallyRequestedServer(server) + self:send({'connect', ip}, true) end + return true + end - function connectIp(self, serverip, slimserverip) self.slimproto:disconnect() self.slimproto:connectIp(serverip, slimserverip)