소스 검색

Merge pull request #56622 from Pineapple/scenestate-optimizations

Rémi Verschelde 3 년 전
부모
커밋
45cb12955f
1개의 변경된 파일6개의 추가작업 그리고 8개의 파일을 삭제
  1. 6 8
      scene/resources/packed_scene.cpp

+ 6 - 8
scene/resources/packed_scene.cpp

@@ -175,14 +175,12 @@ Node *SceneState::instantiate(GenEditState p_edit_state) const {
 #endif
 #endif
 			}
 			}
 		} else {
 		} else {
-			Object *obj = nullptr;
+			//node belongs to this scene and must be created
+			Object *obj = ClassDB::instantiate(snames[n.type]);
 
 
-			if (ClassDB::is_class_enabled(snames[n.type])) {
-				//node belongs to this scene and must be created
-				obj = ClassDB::instantiate(snames[n.type]);
-			}
+			node = Object::cast_to<Node>(obj);
 
 
-			if (!Object::cast_to<Node>(obj)) {
+			if (!node) {
 				if (obj) {
 				if (obj) {
 					memdelete(obj);
 					memdelete(obj);
 					obj = nullptr;
 					obj = nullptr;
@@ -203,9 +201,9 @@ Node *SceneState::instantiate(GenEditState p_edit_state) const {
 				if (!obj) {
 				if (!obj) {
 					obj = memnew(Node);
 					obj = memnew(Node);
 				}
 				}
-			}
 
 
-			node = Object::cast_to<Node>(obj);
+				node = Object::cast_to<Node>(obj);
+			}
 		}
 		}
 
 
 		if (node) {
 		if (node) {