[Laszlo-dev] [RESENT] Re: Glossary - Gnash Project Wiki

P T Withington ptw at pobox.com
Mon Jun 30 06:58:54 PDT 2008


[RESENT: Redirecting to Laszlo-dev]

On Jun 28, 2008, at 16:24, David Temkin <temkin at laszlosystems.com>  
wrote:

> It would be great if this actually worked. In what way are our SWFs  
> malformed?
>
> There was an earlier thread on this....

I thought we had made the gnash guys happy a long time ago. That's my  
recollection. I could dredge my mail. But why not just ask them?

My recollection is that we had a bad computation of a byte offset. And  
that Phil and I fixed the math.

[Later]

This is the last message I found to/from strk.  Reading the thread, we  
fixed all the malformed SWF bugs and they were able to compile (with  
the LPS) a simple test app and run it, but this test app was nothing  
but a call to the Flash trace built-in from a script block (and built  
on a stubbed out LFC).  Their interpreter was choking trying to  
interpret our runtime class structure, and I sent a very basic test  
case that they would have to be able to interpret for our class system  
to work.  I can't find any response to that.  If you want to go  
forward with this, I suggest someone write to gnash-dev at gnu.org and  
see if they would like to try again.

> Begin forwarded message:
>
>> From: P T Withington <ptw at openlaszlo.org>
>> Date: 1 March 2007 10:16:52 EST
>> To: strk <strk at keybit.net>
>> Cc: OpenLaszlo development and bug reporting <laszlo-dev at openlaszlo.org 
>> >, Henry Minsky <henry.minsky at gmail.com>, gnash-dev Mailing List <gnash-dev at gnu.org 
>> >, mdavis <mdavis at laszlosystems.com>, Don Hopkins <dhopkins at donhopkins.com 
>> >
>> Subject: Re: [Gnash-dev] Re: Hello world working with OpenLaszlo
>>
>> 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
>>>>>>>> Gnash-dev at gnu.org
>>>>>>>> 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!
>>>
>>
>


More information about the Laszlo-dev mailing list