Author: titmuss
Date: Tue Jun 17 14:27:28 2008
New Revision: 2582
URL: http://svn.slimdevices.com?rev=2582&root=Jive&view=rev
Log:
Bug: 6683
Description:
Fix switching between servers.
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
Modified:
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL:
http://svn.slimdevices.com/7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=2582&root=Jive&r1=2581&r2=2582&view=diff
==============================================================================
---
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
(original)
+++
7.1/branches/discovery-refactor/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
Tue Jun 17 14:27:28 2008
@@ -107,7 +107,7 @@
-- class method, sets the current player
function setCurrentPlayer(class, player)
-- is the current player still active?
- if currentPlayer and currentPlayer.lastSeen == 0 then
+ if currentPlayer and currentPlayer ~= player and currentPlayer.lastSeen
== 0 then
playerList[currentPlayer.id] = nil
end
@@ -397,24 +397,21 @@
-- player is now longer seen
self.lastSeen = 0
- if self == currentPlayer then
- return
- end
-
log:info(self, " delete for ", self.slimServer)
- -- player is no longer active
- playerList[self.id] = nil
+ if self ~= currentPlayer then
+ -- player is no longer active
+ playerList[self.id] = nil
+ end
self.jnt:notify('playerDelete', self)
-
- if self.slimServer then
+
+ if self.slimServer and self ~= currentPlayer then
+ self:offStage()
+
self.slimServer:_deletePlayer(self)
- self:offStage()
self.slimServer = false
end
-
-
-- The global players table uses weak values, it will be removed
-- when all references are freed.
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins