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

This partially reverts commit 8a42e3d3ef.

Comment improvements and the test case were kept, with one part commented out.
This commit is contained in:
Rémi Verschelde 2024-12-10 10:09:58 +01:00
parent a372214a4a
commit 2153a60425
No known key found for this signature in database
GPG Key ID: C3336907360768E1
3 changed files with 4 additions and 7 deletions

View File

@ -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 {

View File

@ -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

View File

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