Browse Source

FIX: Return if TCP is in STATUS_CONNECTED

If the `StreamPeerTCP` is polled and the TCP connection is `STATUS_CONNECTED` it should return after polling netsocket. Without `return` poll keeps calling `_sock->connect_to_host` and `connect()`.

(cherry picked from commit 61a2f5c53414eb471103a452a07228962a2d876a)
Yorick de Wid 1 year ago
parent
commit
e5ea748dcf
2 changed files with 3 additions and 1 deletions
  1. 2 1
      CHANGELOG.md
  2. 1 0
      core/io/stream_peer_tcp.cpp

+ 2 - 1
CHANGELOG.md

@@ -218,7 +218,7 @@ branches, and linked at the [end of this file](#Past-releases).
 - Doc: Clarify some details about deferred calls ([GH-88961](https://github.com/godotengine/godot/pull/88961)).
 - [C#] Fix typo in `Color` documentation ([GH-89092](https://github.com/godotengine/godot/pull/89092)).
 - Address a few issues in Transform3D documentation ([GH-89147](https://github.com/godotengine/godot/pull/89147)).
-- Docs: C#] Use `PropertyName` constants in more places ([GH-89246](https://github.com/godotengine/godot/pull/89246)).
+- Docs: [C#] Use `PropertyName` constants in more places ([GH-89246](https://github.com/godotengine/godot/pull/89246)).
 - Doc: Clarify `bsearch(_custom)` behavior ([GH-89280](https://github.com/godotengine/godot/pull/89280)).
 - Doc: Clarify description for `get_unix_time_from_system` on UTC ([GH-89454](https://github.com/godotengine/godot/pull/89454)).
 - Doc: Clarify behavior of `String.format` with keys in replacements ([GH-89608](https://github.com/godotengine/godot/pull/89608)).
@@ -375,6 +375,7 @@ branches, and linked at the [end of this file](#Past-releases).
 #### Network
 
 - enet: Sync with upstream commit c44b7d0 ([GH-90244](https://github.com/godotengine/godot/pull/90244)).
+- Fix missing return in `StreamPeerTCP::poll` when connection is `STATUS_CONNECTED` ([GH-90471](https://github.com/godotengine/godot/pull/90741)).
 
 #### Particles
 

+ 1 - 0
core/io/stream_peer_tcp.cpp

@@ -51,6 +51,7 @@ Error StreamPeerTCP::poll() {
 			status = STATUS_ERROR;
 			return err;
 		}
+		return OK;
 	} else if (status != STATUS_CONNECTING) {
 		return OK;
 	}