Browse Source

Merge pull request #16880 from Mugen87/dev35

Object3D: Dispatch event in .add()/.remove() when operation is done.
Mr.doob 6 years ago
parent
commit
127b3f2dd8
1 changed files with 3 additions and 4 deletions
  1. 3 4
      src/core/Object3D.js

+ 3 - 4
src/core/Object3D.js

@@ -389,10 +389,10 @@ Object3D.prototype = Object.assign( Object.create( EventDispatcher.prototype ),
 			}
 
 			object.parent = this;
-			object.dispatchEvent( { type: 'added' } );
-
 			this.children.push( object );
 
+			object.dispatchEvent( { type: 'added' } );
+
 		} else {
 
 			console.error( "THREE.Object3D.add: object not an instance of THREE.Object3D.", object );
@@ -422,11 +422,10 @@ Object3D.prototype = Object.assign( Object.create( EventDispatcher.prototype ),
 		if ( index !== - 1 ) {
 
 			object.parent = null;
+			this.children.splice( index, 1 );
 
 			object.dispatchEvent( { type: 'removed' } );
 
-			this.children.splice( index, 1 );
-
 		}
 
 		return this;