瀏覽代碼

Fix ViewportTexture error when viewport is used from a child scene

Fix invalid errors when a separate child scene file contains a viewport and
that viewport is used for a texture in the current scene.

Fixes #27790.
jitspoe 4 年之前
父節點
當前提交
2ceba818c3
共有 1 個文件被更改,包括 5 次插入5 次删除
  1. 5 5
      scene/main/viewport.cpp

+ 5 - 5
scene/main/viewport.cpp

@@ -57,17 +57,17 @@
 #include "servers/audio_server.h"
 #include "servers/audio_server.h"
 
 
 void ViewportTexture::setup_local_to_scene() {
 void ViewportTexture::setup_local_to_scene() {
+	Node *local_scene = get_local_scene();
+	if (!local_scene) {
+		return;
+	}
+
 	if (vp) {
 	if (vp) {
 		vp->viewport_textures.erase(this);
 		vp->viewport_textures.erase(this);
 	}
 	}
 
 
 	vp = nullptr;
 	vp = nullptr;
 
 
-	Node *local_scene = get_local_scene();
-	if (!local_scene) {
-		return;
-	}
-
 	Node *vpn = local_scene->get_node(path);
 	Node *vpn = local_scene->get_node(path);
 	ERR_FAIL_COND_MSG(!vpn, "ViewportTexture: Path to node is invalid.");
 	ERR_FAIL_COND_MSG(!vpn, "ViewportTexture: Path to node is invalid.");