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: Tue, 02 Feb 2016 10:28:52 +0000
User-agent: Mozilla/5.0 (X11; Linux i686; rv:25.5) Gecko/20150606 Firefox/31.9 PaleMoon/25.5.0

Follow-up Comment #8, bug #45840 (project gnash):

On current Gnash git version, `var` declaration on timeline ActionScript of
MovieClip seems to correctly set property on it.

Verbosity = 1 debug output from running `undefprop.swf` under Gnash:

115 SECURITY: Checking security of URL
'file:///home/window/Desktop/undefprop.swf'
115 SECURITY: Load of file /home/window/Desktop/undefprop.swf granted (under
local sandbox /home/window/Desktop/)
132 SECURITY: Extensions disabled
133 TRACE: `this` has `undefined_timeline_declared` property?: true
133 TRACE: `this` has `undefined_timeline_assigned` property?: true
133 TRACE: `this` has `undefined_object_assigned` property?: true
133 TRACE: `this` has `undefined_assoc_assigned` property?: true


Text output from running `extgetvariable-testrunner.html`
(from bug #42395 file #35743) on web browser with Gnash:

PASSED: Gnash should return a correct type from GetVariable call on string
PASSED: Gnash should return a correct value from GetVariable call on string
PASSED: Gnash should return a correct type from GetVariable call on integer
PASSED: Gnash should return a correct value from GetVariable call on integer
PASSED: Gnash should return a correct type from GetVariable call on floating
point
PASSED: Gnash should return a correct value from GetVariable call on floating
point
PASSED: Gnash should return a correct type from GetVariable call on infinity
floating point
PASSED: Gnash should return a correct value from GetVariable call on infinity
floating point
PASSED: Gnash should return a correct type from GetVariable call on negative
infinity floating point
PASSED: Gnash should return a correct value from GetVariable call on negative
infinity floating point
PASSED: Gnash should return a correct type from GetVariable call on non-number
floating point
PASSED: Gnash should return a correct value from GetVariable call on
non-number floating point
PASSED: Gnash should return a correct type from GetVariable call on boolean
PASSED: Gnash should return a correct value from GetVariable call on boolean
PASSED: Gnash should return a correct type from GetVariable call on null
PASSED: Gnash should return a correct value from GetVariable call on null
PASSED: Gnash should return a correct type from GetVariable call on unassigned
variable
PASSED: Gnash should return a correct value from GetVariable call on
unassigned variable
PASSED: Gnash should return a correct type from GetVariable call on variable
with undefined value
PASSED: Gnash should return a correct value from GetVariable call on variable
with undefined value
PASSED: Gnash should return a correct type from GetVariable call on
non-existent variable
PASSED: Gnash should return a correct value from GetVariable call on
non-existent variable
PASSED: Gnash should return a correct type from GetVariable call on array
variable
PASSED: Gnash should return a correct value from GetVariable call on array
variable
PASSED: Gnash should return a correct type from GetVariable call on object
variable
PASSED: Gnash should return a correct value from GetVariable call on object
variable
PASSED: Gnash should return a correct type from GetVariable call on object
variable with custom toString()
PASSED: Gnash should return a correct value from GetVariable call on object
variable with custom toString()
PASSED: Gnash should return a correct type from GetVariable call on function
variable
PASSED: Gnash should return a correct value from GetVariable call on function
variable


Moreover, if one tried to revert the fix
<http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=062edf672abbd849a4a67447b5c3fb9f30d1a701>
using following patch:

diff --git a/libcore/vm/ASHandlers.cpp b/libcore/vm/ASHandlers.cpp
index 073bca5..60a3fd7 100644
--- a/libcore/vm/ASHandlers.cpp
+++ b/libcore/vm/ASHandlers.cpp
@@ -2346,11 +2346,10 @@ ActionVar(ActionExec& thread)
         declareLocal(vm.currentCall(), name);
     }
     else {
-        // See https://savannah.gnu.org/patch/?8721
-        as_object* this_ptr = thread.getThisPointer();
-        if (!hasOwnProperty(*this_ptr, name)) {
-            this_ptr->set_member(name, as_value());
-        }
+       IF_VERBOSE_ASCODING_ERRORS(
+           log_aserror(_("The 'var whatever' syntax in timeline context is a
"
+                   "no-op."));
+       );
     }
     env.drop(1);
 }


When built and run `make check`, it also shown test failures correctly:
(SWF6-SWF8 failures from getvariable test, and SWF5-SWF8 failures from
extgetvariable test)

 --=[ testsuite/actionscript.all ]=-- 
FAIL: astests-v6-Runner: this.hasOwnProperty('undefined_timeline_declared')
[./getvariable.as:692]
FAIL: astests-v7-Runner: this.hasOwnProperty('undefined_timeline_declared')
[./getvariable.as:692]
FAIL: astests-v8-Runner: this.hasOwnProperty('undefined_timeline_declared')
[./getvariable.as:692]
 --=[ testsuite/misc-ming.all ]=-- 
FAIL: XMLSocketTester: expected: true obtained: false [./XMLSocketTest.as:52]
FAIL: XMLSocketTester: consistency check: last trace from run of test 
(Initial connection failed!) doesn't match pattern (ENDOFTEST)
FAIL: extgetvariable_testrunner_v5: Gnash should return a correct value from
GetVariable call on unassigned variable ("<null/>" != "<string></string>")
FAIL: extgetvariable_testrunner_v6: Gnash should return a correct value from
GetVariable call on unassigned variable ("<null/>" != "<string></string>")
FAIL: extgetvariable_testrunner_v7: Gnash should return a correct value from
GetVariable call on unassigned variable ("<null/>" !=
"<string>undefined</string>")
FAIL: extgetvariable_testrunner_v8: Gnash should return a correct value from
GetVariable call on unassigned variable ("<null/>" !=
"<string>undefined</string


This bug could now be considered as fixed.

I'll try to file the suspected incorrect test issue
<https://savannah.gnu.org/bugs/?45840#comment2>
as a separate report after I checked it on multiple version
of Flash Player on different platforms. Same goes for the
unrelated XMLSocketTester failure.

Gnash: 0.8.11dev (git e705394 29-Jan-2016)
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386

    _______________________________________________________

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]