We're adding an "ignore"-argument all over the place, so that our
event-system works in swf9.
This a really cumbersome work and some of these warnings don't really
help you:
WARNING @lz/gridcolumn.lzx#90: Invalid delegate: «LzCursorService
function(0)#0| kernel/swf/LzMouseKernel.as#59/21» (must accept one
argument to handle .resizer.onmouseout)
This warning was triggered by "LzSprite#setCursor(..)" (swf), because
there is this delegate:
this._muDel = new LzDelegate( LzMouseKernel , 'restoreCursor',
this.owner , 'onmouseout');
And as "LzMouseKernel#restoreCursor()" does expect an argument (why
should it!?), you get this warning.
If we followed our current practice, we would add an "ignore"-argument
to "LzMouseKernel#restoreCursor()". But that's not really convincing, to
change a semi-public API (see LzCursor) just to get around this. Also
think about user applications, which may have a delegate to i.e.
"LzFocus#clearFocus()". They'll get a warning, because the LzFocus-API
is not compatible to the event-API. So, do we need to change the public
"LzFocus#clearFocus()" API because of this? Surely not!
Therefore, I'd like to propose:
- either do the function wrapping in "LzDelegate#register(..)" in swf9
automatically, but without any warnings (but consider possible
performance disadvantages!)
- or add at compile to every function without any arguments a default
"ignore"-argument, so that it is compatible to our event-system.
Thoughts?