X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F01_core%2F11_XClass.js;h=248b5bd16cb622b820df2f831241e38bac20178a;hb=321cf844195090369e92f5d0c67dcd360eaa6fdd;hp=1280d1a88151814ab3d32880dbb581914bdb52a2;hpb=4ff55e875a0aa86831f3a07e0c278deddc1e18bb;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/01_core/11_XClass.js b/0.6.x/js/01_core/11_XClass.js index 1280d1a..248b5bd 100644 --- a/0.6.x/js/01_core/11_XClass.js +++ b/0.6.x/js/01_core/11_XClass.js @@ -54,11 +54,10 @@ X_Class_CommonProps = // X.Event.KILL_INSTANCE_CANCELED は kill() がキャンセルされた場合に発行。また dispatchループ中にkill()が呼ばれると一旦キャンセルされ発行。 // (flagを立ててdispatchの終わりにkillする) if( this.instanceOf( X.EventDispatcher ) ){ - //console.log( 'this.instanceOf( X.EventDispatcher )! ' + this._dispatching ); if( !def.isPrivate ){ - if( this._dispatching ){ + if( this[ '_listeners' ] && this[ '_listeners' ]._dispatching ){ this.dispatch( X.Event.BEFORE_KILL_INSTANCE ); - this._killReserved = true; + this[ '_listeners' ]._killReserved = true; this.dispatch( X.Event.KILL_INSTANCE_CANCELED ); return; } else @@ -86,8 +85,8 @@ X_Class_CommonProps = if( i !== -1 ){ data = X_Class_getPrivate( instance ); X_Class_killPrivateFlag = true; - if( data._dispatching && data.instanceOf( X.EventDispatcher ) ){ - data._killReserved = true; + if( data[ '_listeners' ] && data[ '_listeners' ]._dispatching && data.instanceOf( X.EventDispatcher ) ){ + data[ '_listeners' ]._killReserved = true; } else { data.kill(); };