gnash-commit
[Top][All Lists]
Advanced

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

Re: [Gnash-commit] /srv/bzr/gnash/trunk r12193: merge from branch. Exter


From: Benjamin Wolsey
Subject: Re: [Gnash-commit] /srv/bzr/gnash/trunk r12193: merge from branch. ExternalInterface is now mostly complete other than actually setting the variables and calling method.
Date: Fri, 21 May 2010 09:46:59 +0200

 
> +ExternalInterface_as::ExternalInterface_as()
> +    : ActiveRelay(*this),

You've initialized ActiveRelay, which takes an as_object*, with an
ExternalInterface&. That uses the copy constructor. Where is the sense
in trying to do this?

> === modified file 'libcore/Relay.cpp'
>  {
> -    getRoot(*_owner).removeAdvanceCallback(this);
> +    if (_owner) {
> +        getRoot(*_owner).removeAdvanceCallback(this);
> +    }
>  }

And then you've hacked away at the ActiveRelay code so that your code
doesn't crash. This change will be reverted because it ruins the
expected behaviour of the class.

Just because it's quick and easy to use ActiveRelay doesn't mean it's
appropriate. ActiveRelay is for handling dynamically created
actionscript objects. It *must* have a single parent object that's
updated. In the case of ExternalInterface, this makes no sense.

ExternalInterface is just a set of functions for interfacing with a
host. The actual interfacing object could probably easily and cleanly be
done as a separate object attached to movie_root and checked on each
advance. It doesn't need all the actionscript apparatus.

Also, adding another singleton as you've done is a step back for
re-entrancy.

Your changes break the pythonmod code.

The actionscript.all/ExternalInterface.as test crashes after your
commit.

The swfdec/external-interface-properties-8.swf test crashes after your
commit.

The actionscript.all/System.as test fails after your commit. 

Some misc-haxe.all tests fail after your commit.

Why are you making changes to code that is tested, breaking the
testsuite, and still committing it?

This is the mess before my commit:

 --=[ testsuite/actionscript.all ]=-- 
FAIL: astests-v5-Runner: expected: 'function' obtained: undefined
[/home/benjamin/Downloads/gnash/trunk/testsuite/actionscript.all/System.as:73]
FAIL: astests-v6-Runner: expected: 'function' obtained: undefined
[/home/benjamin/Downloads/gnash/trunk/testsuite/actionscript.all/System.as:73]
FAIL: astests-v8-Runner: gprocessor returned an error while playing
'ExternalInterface-v8.swf'
 --=[ testsuite/misc-haxe.all/classes.all ]=-- 
FAIL: Security_asv6.swf: Security::loadPolicyFile() method doesn't exist
FAIL: ExternalInterface_asv8.swf: ExternalInterface class doesn't exist
FAIL: ExternalInterface_asv8.swf: ExternalInterface::addCallback()
method doesn't exist
FAIL: ExternalInterface_asv8.swf: ExternalInterface::call() method
doesn't exist
FAIL: System_asv6.swf: System.security 'loadPolicyFile()' method doesn't
exist
 --=[ testsuite/swfdec ]=-- 
FAIL: run_swfdec_testsuite_e:
external-interface-properties-8.swf:5f7f99747c537d3227bd0ce902d5cd29
crashed gnash (stdout in external-interface-properties-8.swf.out, stderr
in external-interface-properties-8.swf.err)


This is the mess still left after my commit:

 --=[ testsuite/actionscript.all ]=-- 
FAIL: astests-v8-Runner: gprocessor returned an error while playing
'ExternalInterface-v8.swf'
 --=[ testsuite/misc-haxe.all/classes.all ]=-- 
FAIL: ExternalInterface_asv8.swf: ExternalInterface class doesn't exist
FAIL: ExternalInterface_asv8.swf: ExternalInterface::addCallback()
method doesn't exist
FAIL: ExternalInterface_asv8.swf: ExternalInterface::call() method
doesn't exist
 --=[ testsuite/swfdec ]=-- 
FAIL: run_swfdec_testsuite_e:
external-interface-properties-8.swf:5f7f99747c537d3227bd0ce902d5cd29
crashed gnash (stdout in external-interface-properties-8.swf.out, stderr
in external-interface-properties-8.swf.err)


bwy

--
The current release of Gnash is 0.8.7
http://www.gnu.org/software/gnash/

Benjamin Wolsey, Software Developer - http://benjaminwolsey.de
C++ and Open-Source Flash blog - http://www.benjaminwolsey.de/bwysblog

xmpp:address@hidden
http://identi.ca/bwy

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


reply via email to

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