From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 96D13138350 for ; Sun, 9 Feb 2020 22:28:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3F488E089F; Sun, 9 Feb 2020 22:28:09 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 10370E089F for ; Sun, 9 Feb 2020 22:28:09 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5B94234E93F for ; Sun, 9 Feb 2020 22:28:07 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 989F32A for ; Sun, 9 Feb 2020 22:28:05 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1581287271.8dba7f7eba3b961468d2477f4e35da63419298f9.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kio/files/, kde-frameworks/kio/ X-VCS-Repository: repo/gentoo X-VCS-Files: kde-frameworks/kio/files/kio-5.67.0-memleak.patch kde-frameworks/kio/kio-5.67.0-r1.ebuild X-VCS-Directories: kde-frameworks/kio/files/ kde-frameworks/kio/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 8dba7f7eba3b961468d2477f4e35da63419298f9 X-VCS-Branch: master Date: Sun, 9 Feb 2020 22:28:05 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: ff44bb5e-e56a-410a-b030-a1689512e4c0 X-Archives-Hash: b74505c4802156526fd30ec62d30fb58 commit: 8dba7f7eba3b961468d2477f4e35da63419298f9 Author: Andreas Sturmlechner gentoo org> AuthorDate: Sun Feb 9 20:20:41 2020 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Sun Feb 9 22:27:51 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8dba7f7e kde-frameworks/kio: Fix memory leak in KUrlNavigatorPlacesSelector Reported-by: David Korth gerbilsoft.com> Closes: https://bugs.gentoo.org/708876 Package-Manager: Portage-2.3.88, Repoman-2.3.20 Signed-off-by: Andreas Sturmlechner gentoo.org> kde-frameworks/kio/files/kio-5.67.0-memleak.patch | 43 +++++++++++ kde-frameworks/kio/kio-5.67.0-r1.ebuild | 88 +++++++++++++++++++++++ 2 files changed, 131 insertions(+) diff --git a/kde-frameworks/kio/files/kio-5.67.0-memleak.patch b/kde-frameworks/kio/files/kio-5.67.0-memleak.patch new file mode 100644 index 00000000000..cf168b79183 --- /dev/null +++ b/kde-frameworks/kio/files/kio-5.67.0-memleak.patch @@ -0,0 +1,43 @@ +From 213ed50634c02d8ec4aa91f0c307cfdd6f78170d Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Wed, 29 Jan 2020 19:50:33 +0100 +Subject: Fix memory leak in KUrlNavigatorPlacesSelector::updateMenu + +Summary: +This method gets called each time solid notices a change, which can in some +setups be very frequent. It leaked memory as the submenus and their actions +were not deallocated properly. + +Test Plan: Builds. User feedback: "so far so good, 160 MB Memory usage". It was ~7GiB before this patch. + +Reviewers: #frameworks, davidedmundson, meven + +Reviewed By: davidedmundson, meven + +Subscribers: anthonyfieroni, meven, kde-frameworks-devel + +Tags: #frameworks + +Differential Revision: https://phabricator.kde.org/D27002 +--- + src/filewidgets/kurlnavigatorplacesselector.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/filewidgets/kurlnavigatorplacesselector.cpp b/src/filewidgets/kurlnavigatorplacesselector.cpp +index 7d33930..103a5fc 100644 +--- a/src/filewidgets/kurlnavigatorplacesselector.cpp ++++ b/src/filewidgets/kurlnavigatorplacesselector.cpp +@@ -71,6 +71,11 @@ void KUrlNavigatorPlacesSelector::updateMenu() + { + m_placesMenu->clear(); + ++ // Submenus have to be deleted explicitly (QTBUG-11070) ++ for(QObject *obj : QObjectList(m_placesMenu->children())) { ++ delete qobject_cast(obj); // Noop for nullptr ++ } ++ + updateSelection(m_selectedUrl); + + QString previousGroup; +-- +cgit v1.1 diff --git a/kde-frameworks/kio/kio-5.67.0-r1.ebuild b/kde-frameworks/kio/kio-5.67.0-r1.ebuild new file mode 100644 index 00000000000..3bd5e746e87 --- /dev/null +++ b/kde-frameworks/kio/kio-5.67.0-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +ECM_DESIGNERPLUGIN="true" +ECM_TEST="forceoptional" +PVCUT=$(ver_cut 1-2) +QTMIN=5.12.3 +VIRTUALX_REQUIRED="test" +inherit ecm kde.org + +DESCRIPTION="Framework providing transparent file and data management" +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="acl +handbook kerberos +kwallet X" + +# drop qtnetwork subslot operator when QT_MINIMAL >= 5.15.0 +RDEPEND=" + dev-libs/libxml2 + dev-libs/libxslt + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtnetwork-${QTMIN}:5=[ssl] + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtxml-${QTMIN}:5 + =kde-frameworks/kauth-${PVCUT}*:5 + =kde-frameworks/karchive-${PVCUT}*:5 + =kde-frameworks/kbookmarks-${PVCUT}*:5 + =kde-frameworks/kcodecs-${PVCUT}*:5 + =kde-frameworks/kcompletion-${PVCUT}*:5 + =kde-frameworks/kconfig-${PVCUT}*:5 + =kde-frameworks/kconfigwidgets-${PVCUT}*:5 + =kde-frameworks/kcoreaddons-${PVCUT}*:5 + =kde-frameworks/kcrash-${PVCUT}*:5 + =kde-frameworks/kdbusaddons-${PVCUT}*:5 + =kde-frameworks/ki18n-${PVCUT}*:5 + =kde-frameworks/kiconthemes-${PVCUT}*:5 + =kde-frameworks/kitemviews-${PVCUT}*:5 + =kde-frameworks/kjobwidgets-${PVCUT}*:5 + =kde-frameworks/knotifications-${PVCUT}*:5 + =kde-frameworks/kservice-${PVCUT}*:5 + =kde-frameworks/ktextwidgets-${PVCUT}*:5 + =kde-frameworks/kwidgetsaddons-${PVCUT}*:5 + =kde-frameworks/kwindowsystem-${PVCUT}*:5 + =kde-frameworks/kxmlgui-${PVCUT}*:5 + =kde-frameworks/solid-${PVCUT}*:5 + acl? ( + sys-apps/attr + virtual/acl + ) + handbook? ( =kde-frameworks/kdoctools-${PVCUT}*:5 ) + kerberos? ( virtual/krb5 ) + kwallet? ( =kde-frameworks/kwallet-${PVCUT}*:5 ) + X? ( >=dev-qt/qtx11extras-${QTMIN}:5 ) +" +DEPEND="${RDEPEND} + >=dev-qt/qtconcurrent-${QTMIN}:5 + test? ( sys-libs/zlib ) + X? ( + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXrender + ) +" +PDEPEND=" + >=kde-frameworks/kded-${PVCUT}:5 +" + +# tests hang +RESTRICT+=" test" + +PATCHES=( + "${FILESDIR}"/${P}-memleak.patch # bug 708876, KF-5.68 +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package acl ACL) + $(cmake_use_find_package handbook KF5DocTools) + $(cmake_use_find_package kerberos GSSAPI) + $(cmake_use_find_package kwallet KF5Wallet) + $(cmake_use_find_package X X11) + ) + + ecm_src_configure +}