> I belive swf_function should *always* use the caller's environment. what's definition of as_environment in Gnash? Apparently it's more than a VM stack.
Let's talk about the 'target' first. (1) if the target in which the swf_function is defined is not destroyed, then it is the target of this swf_function. (2) if the target is destroyed, then the caller's target is used as this swf_function. That's what I intended to do with the commit, fixed a few focused local tests, but triggered some other failures in our testsuite(MovieClip.as). --zou On 10/12/07, strk <[EMAIL PROTECTED]> wrote: > On Fri, Oct 12, 2007 at 07:51:30AM +0000, Zou Lunkai wrote: > > CVSROOT: /sources/gnash > > Module name: gnash > > Changes by: Zou Lunkai <zoulunkai> 07/10/12 07:51:30 > > > > Modified files: > > . : ChangeLog > > server : swf_function.cpp > > > > Log message: > > * server/swf_function.cpp: use the caller's environment when the > > original > > target is destroyed. > > I belive swf_function should *always* use the caller's environment. > ActionExec, in it's turn, should initialize the scope stack to contain > the target of as_environment for global action code. If this wouldn't > currently work is due to the fact we keep togheter 'with' stack and 'scope' > stack > resulting in 'scope' stack taking precedence over locals. > > --strk; > _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit