Browse Source

Merge pull request #16065 from arodic/patch/TransformControls-memory-leak

TransformControls: Added geometry and material dispose to dispose().
Mr.doob 6 years ago
parent
commit
975b91f91c
2 changed files with 17 additions and 2 deletions
  1. 15 0
      examples/js/controls/TransformControls.js
  2. 2 2
      examples/misc_controls_transform.html

+ 15 - 0
examples/js/controls/TransformControls.js

@@ -128,6 +128,21 @@ THREE.TransformControls = function ( camera, domElement ) {
 		domElement.removeEventListener( "touchcancel", onPointerUp );
 		domElement.removeEventListener( "touchleave", onPointerUp );
 
+		this.traverse( function( object ) {
+
+			if ( object.material ) {
+
+				object.material.dispose();
+
+			}
+			if ( object.geometry ) {
+
+				object.geometry.dispose();
+
+			}
+
+		} );
+
 	};
 
 	// Set current object

+ 2 - 2
examples/misc_controls_transform.html

@@ -15,7 +15,7 @@
 				line-height: 30px;
 				overflow: hidden;
 			}
-			
+
 			#info {
 				position: absolute;
 				top: 0px; width: 100%;
@@ -23,7 +23,7 @@
 				z-index:100;
 				box-sizing: border-box;
 			}
-			
+
 			a {
 				color: white;
 			}