Browse Source

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 8 months ago
parent
commit
2153a60425
3 changed files with 4 additions and 7 deletions
  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);
 }