Преглед изворни кода

Revert "Avoid duplicating signals from scene instances into packed scenes"

This partially reverts commit 8a42e3d3eff8f8ef44d663cbe735c2bb05170cba.

Comment improvements and the test case were kept, with one part commented out.
Rémi Verschelde пре 10 месеци
родитељ
комит
2153a60425
3 измењених фајлова са 4 додато и 7 уклоњено
  1. 1 1
      core/object/object.h
  2. 0 6
      scene/resources/packed_scene.cpp
  3. 3 0
      tests/scene/test_packed_scene.h

+ 1 - 1
core/object/object.h

@@ -572,7 +572,7 @@ public:
 		CONNECT_PERSIST = 2, // hint for scene to save this connection
 		CONNECT_ONE_SHOT = 4,
 		CONNECT_REFERENCE_COUNTED = 8,
-		CONNECT_INHERITED = 16, // Whether or not the connection is in an instance of a scene.
+		CONNECT_INHERITED = 16, // Used in editor builds.
 	};
 
 	struct Connection {

+ 0 - 6
scene/resources/packed_scene.cpp

@@ -1060,12 +1060,6 @@ Error SceneState::_parse_connections(Node *p_owner, Node *p_node, HashMap<String
 				continue;
 			}
 
-			// Don't include signals that are from scene instances
-			// (they are already saved in the scenes themselves).
-			if (c.flags & CONNECT_INHERITED) {
-				continue;
-			}
-
 			// only connections that originate or end into main saved scene are saved
 			// everything else is discarded
 

+ 3 - 0
tests/scene/test_packed_scene.h

@@ -96,6 +96,8 @@ TEST_CASE("[PackedScene] Signals Preserved when Packing Scene") {
 		CHECK_EQ(state->get_connection_count(), 3);
 	}
 
+	/*
+	// FIXME: This subcase requires GH-48064 to be fixed.
 	SUBCASE("Signals that should not be saved") {
 		int subscene_flags = Object::CONNECT_PERSIST | Object::CONNECT_INHERITED;
 		// subscene node to itself
@@ -115,6 +117,7 @@ TEST_CASE("[PackedScene] Signals Preserved when Packing Scene") {
 		Ref<SceneState> state = packed_scene->get_state();
 		CHECK_EQ(state->get_connection_count(), 0);
 	}
+	*/
 
 	memdelete(main_scene_root);
 }