Author: mherger
Date: Wed Feb 24 02:08:07 2010
New Revision: 8560

URL: http://svn.slimdevices.com/jive?rev=8560&view=rev
Log:
Bug: 14326
Description: more reliability improvements to ImageViewer
- not only retry to download the image, but the image list too
- if the imagelist is empty, don't cancel, but try again later

Kevin - please give this a try. It's the first time the facebook screensaver 
survived a full night. Either this fixes the issue, or it was the first time 
without network hiccup :-)

Modified:
    
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageSourceServer.lua
    
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageViewerApplet.lua

Modified: 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageSourceServer.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageSourceServer.lua?rev=8560&r1=8559&r2=8560&view=diff
==============================================================================
--- 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageSourceServer.lua
 (original)
+++ 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageSourceServer.lua
 Wed Feb 24 02:08:07 2010
@@ -67,6 +67,8 @@
        local server = self.serverData.server
        log:debug("readImageList: server:", server, " id: ", 
self.serverData.id, " playerId: ", playerId)
 
+       self.lstReady = false
+       
        server:request(
                imgFilesSink(self),
                playerId,
@@ -76,7 +78,7 @@
 
 function imgFilesSink(self)
        return function(chunk, err)
-               if err then
+               if err then
                        log:warn("err in sink ", err)
 
                elseif chunk then
@@ -110,6 +112,7 @@
 
 function nextImage(self)
        if #self.imgFiles == 0 then
+               self:readImageList()
                self:emptyListError()
                return
        end

Modified: 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageViewerApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageViewerApplet.lua?rev=8560&r1=8559&r2=8560&view=diff
==============================================================================
--- 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageViewerApplet.lua
 (original)
+++ 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ImageViewer/ImageViewerApplet.lua
 Wed Feb 24 02:08:07 2010
@@ -694,29 +694,23 @@
                --no iconbar
                self.window:setShowFrameworkWidgets(false)
 
-               -- start timer for next photo in 'delay' milliseconds
-               local delay = self:getSettings()["delay"]
-               self.nextSlideTimer = self.window:addTimer(delay,
-                       function()
-                               
self.imgSource:nextImage(self:getSettings()["ordering"])
-                               self:displaySlide()
-                       end)
        else
                if self.imageError == nil then
                        self.imageError = 
tostring(self.imgSource:getErrorMessage())
-                       log:info("Invalid image object found: " .. 
self.imageError)
+                       log:error("Invalid image object found: " .. 
self.imageError)
 
                        
self.imgSource:popupMessage(self:string("IMAGE_VIEWER_INVALID_IMAGE"), 
self.imageError)
                end
-               
-               self.nextSlideTimer = Timer(self:getSettings()["delay"],
-                       function()
-                               
self.imgSource:nextImage(self:getSettings()["ordering"])
-                               self:displaySlide()
-                       end)
-
-               self.nextSlideTimer:restart()
-       end
+       end
+
+       -- start timer for next photo in 'delay' milliseconds
+       local delay = self:getSettings()["delay"]
+       self.nextSlideTimer = self.window:addTimer(delay,
+               function()
+                       self.imgSource:nextImage(self:getSettings()["ordering"])
+                       self:displaySlide()
+               end
+       )
        
        log:debug("image rendering done")
        self.isRendering = false

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

Reply via email to