Author: titmuss
Date: Thu Jan 24 14:09:19 2008
New Revision: 1617

URL: http://svn.slimdevices.com?rev=1617&root=Jive&view=rev
Log:
Bug: N/A
Description:
Catch some exceptions that could happen when switching a player between SN and 
SC.
Don't try to connect to SN unless we have a uuid, we know this will fail. This 
fixes a 
race condition on boot.


Modified:
    
branches/7.0/jive/src/pkg/jive/share/applets/SelectPlayer/SelectPlayerApplet.lua
    branches/7.0/jive/src/pkg/jive/share/jive/slim/SlimServers.lua

Modified: 
branches/7.0/jive/src/pkg/jive/share/applets/SelectPlayer/SelectPlayerApplet.lua
URL: 
http://svn.slimdevices.com/branches/7.0/jive/src/pkg/jive/share/applets/SelectPlayer/SelectPlayerApplet.lua?rev=1617&root=Jive&r1=1616&r2=1617&view=diff
==============================================================================
--- 
branches/7.0/jive/src/pkg/jive/share/applets/SelectPlayer/SelectPlayerApplet.lua
 (original)
+++ 
branches/7.0/jive/src/pkg/jive/share/applets/SelectPlayer/SelectPlayerApplet.lua
 Thu Jan 24 14:09:19 2008
@@ -69,6 +69,11 @@
 end
 
 
+function free(self)
+       jnt:unsubscribe(self)
+end
+
+
 function notify_playerDelete(self, playerObj)
        local mac = playerObj.id
        manageSelectPlayerMenu(self)
@@ -91,24 +96,30 @@
 
 
 function notify_playerCurrent(self, playerObj)
-       self.selectedPlayer = playerObj
-       self:manageSelectPlayerMenu()
+       if self.playerMenu then
+               self.selectedPlayer = playerObj
+               self:manageSelectPlayerMenu()
+       end
 end
 
 
 function notify_serverConnected(self, server)
-       for id, player in server:allPlayers() do
-               self:_refreshPlayerItem(player)
-       end
-       self:manageSelectPlayerMenu()
+       if self.playerMenu then
+               for id, player in server:allPlayers() do
+                       self:_refreshPlayerItem(player)
+               end
+               self:manageSelectPlayerMenu()
+       end
 end
 
 
 function notify_serverDisconnected(self, server)
-       for id, player in server:allPlayers() do
-               self:_refreshPlayerItem(player)
-       end
-       self:manageSelectPlayerMenu()
+       if self.playerMenu then
+               for id, player in server:allPlayers() do
+                       self:_refreshPlayerItem(player)
+               end
+               self:manageSelectPlayerMenu()
+       end
 end
 
 
@@ -181,7 +192,8 @@
        local mac = player.id
 
        if player:isConnected() then
-               if not self.playerItem[mac] then
+               local item = self.playerItem[mac]
+               if not item then
                        -- add player
                        self:_addPlayerItem(player)
 

Modified: branches/7.0/jive/src/pkg/jive/share/jive/slim/SlimServers.lua
URL: 
http://svn.slimdevices.com/branches/7.0/jive/src/pkg/jive/share/jive/slim/SlimServers.lua?rev=1617&root=Jive&r1=1616&r2=1617&view=diff
==============================================================================
--- branches/7.0/jive/src/pkg/jive/share/jive/slim/SlimServers.lua (original)
+++ branches/7.0/jive/src/pkg/jive/share/jive/slim/SlimServers.lua Thu Jan 24 
14:09:19 2008
@@ -248,13 +248,15 @@
        end
 
        -- Special case Squeezenetwork
-       local sn_name
-       if self.jnt:getSNBeta() then
-               sn_name = "SqueezeNetwork Beta"
-       else
-               sn_name = "SqueezeNetwork"
-       end
-       _cacheServer(self, self.jnt:getSNHostname(), 9000, sn_name)
+       if self.jnt:getUUID() then
+               local sn_name
+               if self.jnt:getSNBeta() then
+                       sn_name = "SqueezeNetwork Beta"
+               else
+                       sn_name = "SqueezeNetwork"
+               end
+               _cacheServer(self, self.jnt:getSNHostname(), 9000, sn_name)
+       end
 
        -- Remove SqueezeCenters that have not been seen for a while
        _cacheCleanup(self)

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins

Reply via email to