소스 검색

Audio: Prevent null source error in Audio.disconnect() (#26597)

**Problem**

Audio.disconnect() expects Audio.source is non-null and
calls Audio.source.disconnect(). But Audio.source is
initialized as null in the constructor and later it is
set in .play() or set*() methods.

So if Audio.disconnect() is called before starting to
play or setting source, it can cause an error when
attemping to call Audio.source.disconnect()

**Solution**

Add a guard in Audio.disconnect()
Takahiro 1 년 전
부모
커밋
6ce2492c2b
1개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 6 0
      src/audio/Audio.js

+ 6 - 0
src/audio/Audio.js

@@ -210,6 +210,12 @@ class Audio extends Object3D {
 
 	disconnect() {
 
+		if ( this._connected === false ) {
+
+			return;
+
+		}
+
 		if ( this.filters.length > 0 ) {
 
 			this.source.disconnect( this.filters[ 0 ] );