Can I file a bug for you to do that? The most popular one I see is
the sprite scheduling checkPlayStatus2 on LzIdle. Instead it should
just use some runtime native timer, right?
On 2008-05-07, at 12:54 EDT, Max Carlson wrote:
I agree - sprites shouldn't be allowed to send events directly into
the system. Kernels should always use callbacks for this... We've
been a bit sloppy with the swf8 kernel, but dhtml and swf9 _should_
use callbacks exclusively.
P T Withington wrote:
Actually, thinking about it, the Sprite, being in the kernel, has
no business trying to use a generic service like events. Each
sprite implementation needs to use its own kernel services directly
to do any eventing. I think that in most cases the sprite is just
registering a timeout event, which should be simple to do.
On 2008-05-07, at 11:49 EDT, P T Withington wrote:
It really turns out that LzDelegate and LzEvent want their
context's to be LzMiniNode's (because they want to look at
__LZdeleted, __LZdeferDelegates, and _events). If all context's
were LzMiniNodes (or LzEventable, as proposed yesterday), we could
also implement automatic tracking of events and delegates so they
won't leak when nodes are destroyed (eliminating the burden on
every LZX class doing this for themselves).
I tried to enforce this, but run into trouble because Sprite's
want to register themselves as delegates, but they are not mini
nodes.
One thought: I create a superclass LzSimpleDelegate and
LzSimpleEvent that work with any object and don't participate in
the node protocol.
Any better ideas?
--
Regards,
Max Carlson
OpenLaszlo.org