Author: titmuss
Date: Mon Feb 4 15:25:49 2008
New Revision: 1796
URL: http://svn.slimdevices.com?rev=1796&root=Jive&view=rev
Log:
Bug: 6918
Description:
Don't set the origin in statusStep, it creates a circular reference. Guard
against circluar references
in SlimBrowser:free().
Modified:
branches/7.0/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua
Modified:
branches/7.0/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua
URL:
http://svn.slimdevices.com/branches/7.0/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua?rev=1796&root=Jive&r1=1795&r2=1796&view=diff
==============================================================================
---
branches/7.0/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua
(original)
+++
branches/7.0/jive/src/pkg/jive/share/applets/SlimBrowser/SlimBrowserApplet.lua
Mon Feb 4 15:25:49 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