Author: tom
Date: Fri Apr 17 07:33:35 2009
New Revision: 5339

URL: http://svn.slimdevices.com/jive?rev=5339&view=rev
Log:
Bug: 11284
Description: 
-  followup fixes:
- missed a nil check for current step
- free() wasn't hiding the step windows properly, does now..

Modified:
    
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua

Modified: 
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua?rev=5339&r1=5338&r2=5339&view=diff
==============================================================================
--- 
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
 (original)
+++ 
7.3/trunk/squeezeplay/src/squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
 Fri Apr 17 07:33:35 2009
@@ -302,14 +302,14 @@
        end
 
        local currentStep = _getCurrentStep()
-       if currentStep.menu then
+       if currentStep and currentStep.menu then
                currentStep.menu:lock(
                        function()
                                step.cancelled = true
                        end)
        end
        step.loaded = function()
-               if currentStep.menu then
+               if currentStep and currentStep.menu then
                        currentStep.menu:unlock()
                end
                _pushStep(step)
@@ -2773,8 +2773,19 @@
        end
 
        -- walk down our path and close...
-       while _popStep() do
-               _getCurrentStep().window:hide()
+       local currentStep = _getCurrentStep()
+       while currentStep do
+               --hide will trigger POP event which will call _popStep, so 
eventually _getCurrentStep() will empty and be nil
+               currentStep.window:hide()
+
+               local candidateCurrentStep = _getCurrentStep()
+               if candidateCurrentStep == currentStep then
+                       log:error("POP event should have been handled, popping 
the stepStack, but the stepStack pop didn't occur")
+                       goHome()
+                       return true
+               else
+                       currentStep = candidateCurrentStep
+               end
        end
 
        if _statusStep then

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

Reply via email to