summaryrefslogtreecommitdiff
path: root/dev-qt/qtnetwork/files/qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtnetwork/files/qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch')
-rw-r--r--dev-qt/qtnetwork/files/qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch41
1 files changed, 0 insertions, 41 deletions
diff --git a/dev-qt/qtnetwork/files/qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch b/dev-qt/qtnetwork/files/qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch
deleted file mode 100644
index be2c1f6e1a04..000000000000
--- a/dev-qt/qtnetwork/files/qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 0807f16eb407eaf8a5b34b67602d0a97778d945d Mon Sep 17 00:00:00 2001
-From: =?utf8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim@qt.io>
-Date: Fri, 6 Nov 2020 12:51:42 +0100
-Subject: [PATCH] QNAM: Work around QObject finicky orphan cleanup details
-
-Details described in a comment.
-
-Task-number: QTBUG-88063
-Change-Id: I763ecfedf518de97615e04a8eaae0fe1fd784f52
-Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
-(cherry picked from commit 1c6d6cbb62c5e93cbcad2d740c3b0ed01095618c)
-Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
----
- src/network/access/qnetworkreplyhttpimpl.cpp | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
-index 21916f53f15..727c1a0316d 100644
---- a/src/network/access/qnetworkreplyhttpimpl.cpp
-+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
-@@ -808,7 +808,17 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq
-
- // For the synchronous HTTP, this is the normal way the delegate gets deleted
- // For the asynchronous HTTP this is a safety measure, the delegate deletes itself when HTTP is finished
-- QObject::connect(thread, SIGNAL(finished()), delegate, SLOT(deleteLater()));
-+ QMetaObject::Connection threadFinishedConnection =
-+ QObject::connect(thread, SIGNAL(finished()), delegate, SLOT(deleteLater()));
-+
-+ // QTBUG-88063: When 'delegate' is deleted the connection will be added to 'thread''s orphaned
-+ // connections list. This orphaned list will be cleaned up next time 'thread' emits a signal,
-+ // unfortunately that's the finished signal. It leads to a soft-leak so we do this to disconnect
-+ // it on deletion so that it cleans up the orphan immediately.
-+ QObject::connect(delegate, &QObject::destroyed, delegate, [threadFinishedConnection]() {
-+ if (bool(threadFinishedConnection))
-+ QObject::disconnect(threadFinishedConnection);
-+ });
-
- // Set the properties it needs
- delegate->httpRequest = httpRequest;
---
-2.16.3