bugGnash - The GNU Flash player - Bugs: bug #23735, animalpiano.swf (swf4) bug

 
 

bug #23735: animalpiano.swf (swf4) bug

Submitted by:  Sandro Santilli <strk>
Submitted on:  Sun 29 Jun 2008 09:54:39 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Sandro Santilli <strk>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Tue 08 Jul 2008 01:12:21 AM UTC, comment #7:

> update: setProperty.as contains no more failure now.


Great.

BTW, I tried these tests with the lastest swfdec player, there were many failures. So I think there is no much related tests in swfdec testsuite. That might explain why there wasn't many unexpected passes.

Zou Lunkai <zoulunkai>
Tue 08 Jul 2008 12:25:42 AM UTC, comment #6:

update: setProperty.as contains no more failure now.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Sat 05 Jul 2008 03:43:19 AM UTC, comment #5:

I can sommit some tests to testsuite/swfc-misc.all for seperate timelines.

> Seems a good time to refactor things out about it.


The related code is already over complex/unclear to me. I cann't help fixing the code even I think I know the expected behaviour in AS level. Code refactoring in general is good to me...

Zou Lunkai <zoulunkai>
Sat 05 Jul 2008 01:42:50 AM UTC, comment #4:

So, for scope chain it looks like we'll need more testing, in particular what is target when we call a function defined in a separate timeline. setProperty is actionscript only so has a single timeline. I verified that for SWF5 target is:

mc1 when calling mc1.func();
_root when calling func();
_root when calling obj.func(); // obj being NOT a character

Even if mc1.func() and func() are the same function,
called from the same context.

Only problem is setTarget("") wich supposedly resets
the target to the 'original' one.
Well, 'original' in SWF5 follows the rules above and
with our codebase the only way to change an 'original'
target is by creating a new as_environment.

I belive the only instance members of as_environment left
are indeed target and original target. Seems a good time
to refactor things out about it. Chad was also stuck
on targets while doing the new AVM2(SWF9) Machine class...

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 01 Jul 2008 09:32:03 AM UTC, comment #3:

committed to trunk. will look at swf5/6 scope chain next.

Sandro Santilli <strk>
Project MemberIn charge of this item.
Tue 01 Jul 2008 03:36:58 AM UTC, comment #2:

Note that swf4 and swf5 work differently on the scope stack, which means many opcode are affected. All related tests are in actionscript.all/setProperty.as (not a good name).

see line 130 ~ 157 and the others.

Zou Lunkai <zoulunkai>
Tue 01 Jul 2008 02:20:41 AM UTC, comment #1:

case fixed locally by allowing undefined target to be set in environment. Note that the _root target was just dust in the eyes, it's only due to the scope stack, getting the target property (11) returns undefined.

Will merge to trunk after further testing.

Sandro Santilli <strk>
Project MemberIn charge of this item.
 Spam posted by an anonymous
Sun 29 Jun 2008 09:54:39 PM UTC, original submission:

The movie contains a setTarget("unexistent") block containing
a gotoFrame(1) call.
Gnash takes the "unexistent" target as a target reset, that
is resets the target to the original one, being the root movie
which is the parent of the button the event is attached to,
so the gotoFrame triggers a movie restart.

Expected behaviour is for the gotoFrame to be ignored, but
w/out ignoring other code in the block.

The attached version of the movie has been modified to trace
inside the block, showing that _target is found to be 'undefined'.

Note that in SWF6 _target would be reported to be _root, but still
the gotoFrame is expected to be ignored.

Is the bird button being hacked.

Sandro Santilli <strk>
Project MemberIn charge of this item.

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #15956:  animalpiano.swf added by strk (164KiB - application/x-shockwave-flash)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by zoulunkai (Posted a comment)
  • -unavailable- added by strk (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 08 Jul 2008 09:23:52 AM UTCstrkStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Tue 01 Jul 2008 09:32:03 AM UTCstrkStatusIn Progress=>Ready For Test
    Sun 29 Jun 2008 09:54:39 PM UTCstrkAttached File-=>Added animalpiano.swf, #15956

    Back to the top


    Powered by Savane 3.1-cleanup1