summaryrefslogtreecommitdiff
path: root/scene/main
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2019-07-01 09:15:35 +0200
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2019-07-01 09:15:35 +0200
commit2eac1a64f7240a842dae4d4d69be57e28c06f3d3 (patch)
tree46cd99bc60d8226b08caa626c7342f748e191bce /scene/main
parent89d537767eca3737297ff0abc6063087b03d3483 (diff)
Fix HTTPRequest status checks.
HTTPRequest used to have its own `status` variable but it would never be updated since the status of the client would be used instead. This caused potential crashes in some edge cases. The `status` variable is now removed, and the client status is used in checks instead.
Diffstat (limited to 'scene/main')
-rw-r--r--scene/main/http_request.cpp7
-rw-r--r--scene/main/http_request.h2
2 files changed, 3 insertions, 6 deletions
diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp
index e65314644e..88b942ee45 100644
--- a/scene/main/http_request.cpp
+++ b/scene/main/http_request.cpp
@@ -425,7 +425,7 @@ void HTTPRequest::_notification(int p_what) {
void HTTPRequest::set_use_threads(bool p_use) {
- ERR_FAIL_COND(status != HTTPClient::STATUS_DISCONNECTED);
+ ERR_FAIL_COND(get_http_client_status() != HTTPClient::STATUS_DISCONNECTED);
use_threads = p_use;
}
@@ -436,7 +436,7 @@ bool HTTPRequest::is_using_threads() const {
void HTTPRequest::set_body_size_limit(int p_bytes) {
- ERR_FAIL_COND(status != HTTPClient::STATUS_DISCONNECTED);
+ ERR_FAIL_COND(get_http_client_status() != HTTPClient::STATUS_DISCONNECTED);
body_size_limit = p_bytes;
}
@@ -448,7 +448,7 @@ int HTTPRequest::get_body_size_limit() const {
void HTTPRequest::set_download_file(const String &p_file) {
- ERR_FAIL_COND(status != HTTPClient::STATUS_DISCONNECTED);
+ ERR_FAIL_COND(get_http_client_status() != HTTPClient::STATUS_DISCONNECTED);
download_to_file = p_file;
}
@@ -546,7 +546,6 @@ HTTPRequest::HTTPRequest() {
downloaded = 0;
body_size_limit = -1;
file = NULL;
- status = HTTPClient::STATUS_DISCONNECTED;
}
HTTPRequest::~HTTPRequest() {
diff --git a/scene/main/http_request.h b/scene/main/http_request.h
index baabda4010..2e58d579ba 100644
--- a/scene/main/http_request.h
+++ b/scene/main/http_request.h
@@ -88,8 +88,6 @@ private:
int redirections;
- HTTPClient::Status status;
-
bool _update_connection();
int max_redirects;