gnash-dev
[Top][All Lists]
Advanced

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

Re: [Gnash-dev] Re: Hello world working with OpenLaszlo


From: P T Withington
Subject: Re: [Gnash-dev] Re: Hello world working with OpenLaszlo
Date: Thu, 1 Mar 2007 10:16:52 -0500

This has to work for our classes to work:

<script when="immediate">
  function A () { this.constructor = arguments.callee; };
  A.prototype.test = function () { return true; }

  function B () { this.constructor = arguments.callee; };

  B.prototype = new A();

  B.prototype.test = function () {
    if (this.constructor.prototype.constructor.prototype.test()) {
      _global.trace("it works");
    }
  }

  (new B()).test();
</script>


On 2007-03-01, at 09:47 EST, strk wrote:

On Thu, Mar 01, 2007 at 09:42:35AM -0500, P T Withington wrote:
The constructor is the default constructor, which is Instance.make.
The initialize method is called by the constructor as the last thing
before it returns the new instance.

If you build the LFC for the DHTML runtime, you can look at the
'expanded' Javascript, which approximates what is compiled down to SWF.

  buildlfc --runtime=dhtml ...

That might make it easier to understand the class declarations.

Could you try providing a simplified version of this inheritance
model to easy debuggin of Gnash instead ?
A self-testing SWF that uses those 'constructor', 'prototype' and
friend hacking and prints PASSED or FAILED if things don't work
as expected ?

--strk;


On 2007-03-01, at 09:35 EST, strk wrote:

I've found at least *one* of the nogo points.

Commenting out this line:

LzLoadQueue.timeoutDel = new LzDelegate( LzLoadQueue ,
"checkTimeout" );

In kernel/swf/LzLoadQueue.as, get successfully to my trace.

I've changed the code to:

_global.trace('initializing LzLoadQueue.timeoutDel');
LzLoadQueue.timeoutDel = new LzDelegate( LzLoadQueue ,
"checkTimeout" );
_global.trace('LzLoadQueue.timeoutDel (not) initialized');

The second trace is *never* reached.

Now, looking at LzDelegate class definition:

./events/LaszloEvents.lzs

Which function is the constructor ? Is it 'initialize' ?

--strk;


On Thu, Mar 01, 2007 at 09:01:52AM -0500, P T Withington wrote:
Ah.  Sorry about the confusion.  Not sure why what I wrote does not
work.

On 2007-03-01, at 08:59 EST, strk wrote:

Found a workaround:

'_global.trace("message");' bypass the surveillance.

--strk;

On Thu, Mar 01, 2007 at 01:53:21PM +0100, strk wrote:
On Thu, Mar 01, 2007 at 05:57:03AM -0500, P T Withington wrote:

That looks like a 'feature' in the compiler.  It seems that it
intentionally compiles away any `trace` calls.  Perhaps this
was to
avoid debug output in production.

Try building your LFC with:

buildlfc -DcompileTrace=flash ...

No difference, no even additional warnings.
Note that the trace() calls I'm adding to  .lzs files,
LIke:

On top of LaszloLibrary.lzs:

trace("LaszloLibrary.lzs included");

--strk;


_______________________________________________
Gnash-dev mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnash-dev

--

()   ASCII Ribbon Campaign
/\   Keep it simple!


--

()   ASCII Ribbon Campaign
/\   Keep it simple!


--

 ()   ASCII Ribbon Campaign
 /\   Keep it simple!






reply via email to

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