// X.Event.KILL_INSTANCE_CANCELED は kill() がキャンセルされた場合に発行。また dispatchループ中にkill()が呼ばれると一旦キャンセルされ発行。\r
// (flagを立ててdispatchの終わりにkillする)\r
if( this.instanceOf( X.EventDispatcher ) ){\r
- //console.log( 'this.instanceOf( X.EventDispatcher )! ' + this._dispatching );\r
if( !def.isPrivate ){\r
- if( this._dispatching ){\r
+ if( this[ '_listeners' ] && this[ '_listeners' ]._dispatching ){\r
this.dispatch( X.Event.BEFORE_KILL_INSTANCE );\r
- this._killReserved = true;\r
+ this[ '_listeners' ]._killReserved = true;\r
this.dispatch( X.Event.KILL_INSTANCE_CANCELED );\r
return;\r
} else\r
if( i !== -1 ){\r
data = X_Class_getPrivate( instance );\r
X_Class_killPrivateFlag = true;\r
- if( data._dispatching && data.instanceOf( X.EventDispatcher ) ){\r
- data._killReserved = true;\r
+ if( data[ '_listeners' ] && data[ '_listeners' ]._dispatching && data.instanceOf( X.EventDispatcher ) ){\r
+ data[ '_listeners' ]._killReserved = true;\r
} else {\r
data.kill();\r
};\r