Author: mherger
Date: Thu Feb 25 23:44:47 2010
New Revision: 8582

URL: http://svn.slimdevices.com/jive?rev=8582&view=rev
Log:
Fixed Bug: 15786
Description: when switching music sources, re-register server based 
screensavers as the old server might go away. This will _not_ unregister 
screensavers registered by the old server which are not available on the new. 
Just keeping everything on the most recently connected server providing them.

Modified:
    
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua

Modified: 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua?rev=8582&r1=8581&r2=8582&view=diff
==============================================================================
--- 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua
 (original)
+++ 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/SlimMenus/SlimMenusApplet.lua
 Thu Feb 25 23:44:47 2010
@@ -318,7 +318,17 @@
 
 --register remote ss only if it doesn't exist. Only current server responses 
may replace existing items.
 function  _registerRemoteScreensaver(self, serverData)
-       if  not _playerScreensaverRegistrations[serverData.id] then
+
+       -- when switching music sources, re-register screensavers as the old 
server might go away
+       if _playerScreensaverRegistrations[serverData.id] and 
_playerScreensaverRegistrations[serverData.id].server ~= serverData.server then
+               log:debug("ss already registered, but from different server: ", 
serverData.id, 
+                         " - new: ", serverData.server, 
+                         " - old: ", 
_playerScreensaverRegistrations[serverData.id].server)
+               appletManager:callService("unregisterRemoteScreensaver", 
serverData.id)
+               _playerScreensaverRegistrations[serverData.id] = nil
+       end
+
+       if not _playerScreensaverRegistrations[serverData.id] then 
                 _playerScreensaverRegistrations[serverData.id] = serverData
                appletManager:callService("registerRemoteScreensaver", 
serverData)
        else

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

Reply via email to