[Laszlo-dev] disabling delegates
Henry Minsky
henry.minsky at gmail.com
Tue Apr 11 11:50:29 EDT 2006
There is a method for disabling a delegate which is currently implemented as
LzDelegate.prototype.disable = function (){
if ( !this.enabled ) return;
this.enabled = false;
this.disc = this.c;
this.c = null;
}
This has the unfortunate side effect of causing an error in DHTML runtime if
you then try to call
this delegate, because the inner loop of LzEvent.sendEvent does
for (var i = dll; i >= 0; i--){
d = this.delegateList[ i ];
//pointer may be bad due to deletions
if ( d && ! d.event_called){
d.event_called = true; //this delegate has been called
calledDelegates.push( d );
// d.execute( sd ); inlined
// We don't worry about deleted contexts here, because
// we assume that delegates registered on events are
// properly managed
d.c[d.f]( sd );
}
}
And d.c will be null, causing an error in 'real' javascript. Should I put a
check here for the disabled flag,
or should we bind d.c in LzDelegate to some inert event while it is
disabled?
--
Henry Minsky
Software Architect
hminsky at laszlosystems.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20060411/6f263fb4/attachment.html
More information about the Laszlo-dev
mailing list