summaryrefslogtreecommitdiff
path: root/dev-qt/qtnetwork
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-08 11:28:34 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-08 11:28:34 +0000
commit24fd814c326e282c4321965c31f341dad77e270d (patch)
tree033d63b33c21a3209964ab56005bb9bdd523630d /dev-qt/qtnetwork
parent129160ec854dca4c3fedb5bcfbcb56930371da0f (diff)
gentoo resync : 08.01.2021
Diffstat (limited to 'dev-qt/qtnetwork')
-rw-r--r--dev-qt/qtnetwork/Manifest3
-rw-r--r--dev-qt/qtnetwork/files/qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch41
-rw-r--r--dev-qt/qtnetwork/qtnetwork-5.15.2-r1.ebuild (renamed from dev-qt/qtnetwork/qtnetwork-5.15.2.ebuild)7
3 files changed, 48 insertions, 3 deletions
diff --git a/dev-qt/qtnetwork/Manifest b/dev-qt/qtnetwork/Manifest
index bf49334f5d4b..6affa1ae69e1 100644
--- a/dev-qt/qtnetwork/Manifest
+++ b/dev-qt/qtnetwork/Manifest
@@ -1,7 +1,8 @@
AUX qtnetwork-5.15.1-libressl.patch 16941 BLAKE2B 07b54a11d57609066cc245f2850dc955aa3ca3c8c5d7ea132dfcec72250b43b3e12b72b8b919bf522d3e32f9d8f2452f34b94fde6174d6fb9776bbd1328d1820 SHA512 300f6d5af014daecee0bcdd16aa896b7efebbe6eb06e6d4f5c2d59f370527edf8783da8449a4c87fca617ce2e4d305ea68c5f68854b618d257fb31a1f1aa701f
+AUX qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch 2104 BLAKE2B 2fdeae57b0751f68273e79edb602b90c96d9a3287dec43c1fb3cf1e3b5cf17ae1570e62bc59b330748938cd1ca2b9326062ee61415114d1f08211235dcdae7a6 SHA512 880cab4279a663e4709f93aedf875f2fd3c17dcfd45fe57aa9b75887fbee981b13ff899d9223a37186f2c93493823ca36d4128500f2943b7ca67e409e6523ed3
AUX qtnetwork-5.15.2-libressl.patch 17869 BLAKE2B 663ce12ef626325e97d59c63ab66fc1233fe020b390e4e8917480b1dffd73df60717bf1bbc2e716a86e3bb96a3f56660283b962c904e990c80a8fd1e174be8cd SHA512 55d2c40f2660e22c9bc944d52fc88bc7a1fb4a09b0f831d7954055b17e496e0011084bd766054b848320cf42955b1fcb932a79bb2aa3ac858a7c0854d6a9dd04
DIST qtbase-everywhere-src-5.15.1.tar.xz 50153132 BLAKE2B 5a8cbbf8d44c7affc8ee43db04bd024bb529e0707b1feee2c7ae439cdf1331b1cf3e89b84c6a6f5bab3ec34025fbd634a8f4d259bd64ece172f288500e5b59e6 SHA512 40b687c046b25a6717834ffe2616ee4f373d75214ec1c7e3a26502cd0cde9f0a872eaee99f06c54c7a3625ae85df5cdd3a3b54a160e8e37c7cfeb5800d026fe4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
EBUILD qtnetwork-5.15.1-r1.ebuild 1544 BLAKE2B 2129568d3b48d17e4a950c73f74c692427b470d9fd15c7be9e5c960fed8b276ebaf4ede53a22c7b2069a1ebb3b9986a8ba5dafdd4ec050a9c4282c5436de4989 SHA512 fb09f7261484d5786ba13e4a02b9678cb14906cbe5b8c2c23fcc3b5493714f7d969d52fdb09359dc12c2bb0950868eb2400c02b51f4538b38e9e5b8a6c6bfb3e
-EBUILD qtnetwork-5.15.2.ebuild 1762 BLAKE2B 5db4ad6b82be24417ecb0f895f4a393eb84d0c84a3e9c495db2606b5909e16542ad9075459dfee2dea930d1be82a165b3a1d5f56f7cd56e8845af80a2bf518d1 SHA512 d367bf77f56fdf48c6ef4334036e8373f1ab185267910a547fdfb6f81df405632558cb386b8e0c9e5f3ffd7137cd80f2d81473c5921a25c0c459bbb005938d28
+EBUILD qtnetwork-5.15.2-r1.ebuild 1833 BLAKE2B ff8c286a2eafe8f0182a250e32cfa746c49050fd1dc39f24c1b7476a04d4fe472514c3b4a4d1cdf1efd2cf2291d24bc0b2a6f3339043017eb2ffd0501efda9f7 SHA512 9be50e61c71196da3c1371fa94f1cde3eb338212c1cbfa4afd105b3f0f447057ba33c186644473c4d2f22d149de72f07eff4c170e17f493f02524242f11e03c8
MISC metadata.xml 957 BLAKE2B 5c888322d402a3f037e194bd13001ff3a7e449fe423b8b4661c4b1365263a63e105be92ab0bd6a99ae79e7e8062c65e52e9e04763f9c15c50cb28c1215a06b0d SHA512 aa07869c984c4c2d7653820213b94fa4db247e4e30f0efad8df64c09b2578cd2143ab81890584521e1f561953312abb36d8e049dabd42893fecefea4182f176a
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
new file mode 100644
index 000000000000..be2c1f6e1a04
--- /dev/null
+++ b/dev-qt/qtnetwork/files/qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch
@@ -0,0 +1,41 @@
+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
diff --git a/dev-qt/qtnetwork/qtnetwork-5.15.2.ebuild b/dev-qt/qtnetwork/qtnetwork-5.15.2-r1.ebuild
index b18029d135ff..9d366649d1c5 100644
--- a/dev-qt/qtnetwork/qtnetwork-5.15.2.ebuild
+++ b/dev-qt/qtnetwork/qtnetwork-5.15.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -48,7 +48,10 @@ QT5_GENTOO_PRIVATE_CONFIG=(
:network
)
-PATCHES=( "${FILESDIR}"/${PN}-5.15.2-libressl.patch ) # Bug 562050, not upstreamable
+PATCHES=(
+ "${FILESDIR}"/${P}-QNetworkAccessManager-memleak.patch # QTBUG-88063
+ "${FILESDIR}"/${PN}-5.15.2-libressl.patch # Bug 562050, not upstreamable
+)
pkg_setup() {
use connman && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/connman)