Author: titmuss
Date: Mon Feb  4 15:36:17 2008
New Revision: 1806

URL: http://svn.slimdevices.com?rev=1806&root=Jive&view=rev
Log:
 [EMAIL PROTECTED] (orig r1796):  titmuss | 2008-02-04 23:25:49 +0000
 Bug: 6918
 Description:
 Don't set the origin in statusStep, it creates a circular reference. Guard 
against circluar references 
 in SlimBrowser:free().
 
 

Modified:
    trunk/   (props changed)
    trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua

Propchange: trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Mon Feb  4 15:36:17 2008
@@ -1,3 +1,3 @@
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:1795
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:1796
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378

Modified: 
trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua
URL: 
http://svn.slimdevices.com/trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua?rev=1806&root=Jive&r1=1805&r2=1806&view=diff
==============================================================================
--- trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua 
(original)
+++ trunk/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua Mon 
Feb  4 15:36:17 2008
@@ -1746,7 +1746,6 @@
        if _statusStep then
 
                -- arrange so that menuListener works
-               _statusStep.origin = _curStep
                _curStep = _statusStep
 
                -- current playlist should select currently playing item 
@@ -2186,17 +2185,30 @@
 
        -- walk down our path and close...
        local step = _curStep
-       
+
+       -- Note, we guard against circular references here
        while step do
                step.window:hide()
-               step = step.origin
+
+               if step == step.origin then
+                       log:error("Loop detected in _curStep")
+                       step = nil
+               else
+                       step = step.origin
+               end
        end
        
        local step = _statusStep
        
        while step do
                step.window:hide()
-               step = step.origin
+
+               if step == step.origin then
+                       log:error("Loop detected in _statusStep")
+                       step = nil
+               else
+                       step = step.origin
+               end
        end
        
        return true

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

Reply via email to