Browse Source

Merge pull request #100235 from akien-mga/revert-97303

Revert "Avoid duplicating signals from scene instances into packed scenes"
Rémi Verschelde 8 tháng trước cách đây
mục cha
commit
c2e4ae782a

+ 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);
 }