gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [bug #45840] Gnash ignores bare `var` declaration in time


From: Nutchanon Wetchasit
Subject: [Gnash-commit] [bug #45840] Gnash ignores bare `var` declaration in timeline ActionScript
Date: Fri, 28 Aug 2015 13:09:23 +0000
User-agent: Mozilla/5.0 (X11; Linux i686; rv:25.5) Gecko/20150606 Firefox/31.9 PaleMoon/25.5.0

URL:
  <http://savannah.gnu.org/bugs/?45840>

                 Summary: Gnash ignores bare `var` declaration in timeline
ActionScript
                 Project: Gnash - The GNU Flash player
            Submitted by: nachanon
            Submitted on: Fri 28 Aug 2015 08:09:21 PM ICT
                Category: core
                Severity: 3 - Normal
                 Release: master
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

This is a follow-up to patch #8721 (GetVariable fix) and bug #42395
(Panopticlick issue).

>From bug #42395, getvariable test does not give a correct result
<https://savannah.gnu.org/bugs/?42395#comment7> for
an unassigned variable declared on the timeline; it mistakenly reported
that the variable was not declared at all (instead of being declared with an
`undefined` value).

The cause of this issue could be narrowed down to one line of Gnash's debug
output (verbosity 2 + action error log):

124 ACTIONSCRIPT ERROR: The 'var whatever' syntax in timeline context is a
no-op.


I have created test flash file (using libming's makeswf) that tries
to assign an `undefined` property on root MovieClip from the main timeline
in various way:
* Declaring variable on the timeline
* Declaring variable on the timeline, with `undefined` value assigned
* Assigning through member operator on `this` instance
* Assigning through associative array operator on `this` instance
Then test for its existence using `Object.hasOwnProperty()`.

This is a trace output from Adobe Flash Player:

`this` has `undefined_timeline_declared` property?: true
`this` has `undefined_timeline_assigned` property?: true
`this` has `undefined_object_assigned` property?: true
`this` has `undefined_assoc_assigned` property?: true


You'd see that all method of assigning `undefined` property work as expected.

This is a trace output from current Gnash:

203 ACTIONSCRIPT ERROR: The 'var whatever' syntax in timeline context is a
no-op.
203 TRACE: `this` has `undefined_timeline_declared` property?: false
203 TRACE: `this` has `undefined_timeline_assigned` property?: true
203 TRACE: `this` has `undefined_object_assigned` property?: true
203 TRACE: `this` has `undefined_assoc_assigned` property?: true


You'd see that under Gnash, declaring `var undefined_timeline_declared`
on the timeline does not assign the property on root MovieClip,
which is incorrect.

Test Flash file, optional HTML container, source code, build script,
and full debug logs of both cases are attached (undefprop.zip).

Gnash: 0.8.11dev (git f341372 25-Aug-2015)
Adobe Flash Player: 11.2 r202 (11.2.202.491) standalone binary
System: Debian GNU/Linux 7.0 Wheezy i386



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Fri 28 Aug 2015 08:09:21 PM ICT  Name: undefprop.zip  Size: 4kB   By:
nachanon
Undefined Properties Test Flash file, with source code, and logs
<http://savannah.gnu.org/bugs/download.php?file_id=34760>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?45840>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]