Просмотр исходного кода

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 год назад
Родитель
Сommit
943b394946
2 измененных файлов с 5 добавлено и 0 удалено
  1. 4 0
      CHANGELOG.md
  2. 1 0
      core/io/stream_peer_tcp.cpp

+ 4 - 0
CHANGELOG.md

@@ -217,6 +217,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 - Fix NavigationObstacle elevation ([GH-84830](https://github.com/godotengine/godot/pull/84830)).
 - Fix NavigationObstacle height ([GH-84857](https://github.com/godotengine/godot/pull/84857)).
 
+#### Networking
+
+- Fix missing return in `StreamPeerTCP::poll` when connection is `STATUS_CONNECTED` ([GH-90741](https://github.com/godotengine/godot/pull/90741)).
+
 #### Particles
 
 - Fix several Material texture parameter updates ([GH-84303](https://github.com/godotengine/godot/pull/84303)).

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