Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kio/files/, kde-frameworks/kio/
Date: Sun, 09 Feb 2020 22:28:10
Message-Id: 1581287271.8dba7f7eba3b961468d2477f4e35da63419298f9.asturm@gentoo
1 commit: 8dba7f7eba3b961468d2477f4e35da63419298f9
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sun Feb 9 20:20:41 2020 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sun Feb 9 22:27:51 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8dba7f7e
7
8 kde-frameworks/kio: Fix memory leak in KUrlNavigatorPlacesSelector
9
10 Reported-by: David Korth <gerbilsoft <AT> gerbilsoft.com>
11 Closes: https://bugs.gentoo.org/708876
12 Package-Manager: Portage-2.3.88, Repoman-2.3.20
13 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
14
15 kde-frameworks/kio/files/kio-5.67.0-memleak.patch | 43 +++++++++++
16 kde-frameworks/kio/kio-5.67.0-r1.ebuild | 88 +++++++++++++++++++++++
17 2 files changed, 131 insertions(+)
18
19 diff --git a/kde-frameworks/kio/files/kio-5.67.0-memleak.patch b/kde-frameworks/kio/files/kio-5.67.0-memleak.patch
20 new file mode 100644
21 index 00000000000..cf168b79183
22 --- /dev/null
23 +++ b/kde-frameworks/kio/files/kio-5.67.0-memleak.patch
24 @@ -0,0 +1,43 @@
25 +From 213ed50634c02d8ec4aa91f0c307cfdd6f78170d Mon Sep 17 00:00:00 2001
26 +From: Fabian Vogt <fabian@×××××××××××.de>
27 +Date: Wed, 29 Jan 2020 19:50:33 +0100
28 +Subject: Fix memory leak in KUrlNavigatorPlacesSelector::updateMenu
29 +
30 +Summary:
31 +This method gets called each time solid notices a change, which can in some
32 +setups be very frequent. It leaked memory as the submenus and their actions
33 +were not deallocated properly.
34 +
35 +Test Plan: Builds. User feedback: "so far so good, 160 MB Memory usage". It was ~7GiB before this patch.
36 +
37 +Reviewers: #frameworks, davidedmundson, meven
38 +
39 +Reviewed By: davidedmundson, meven
40 +
41 +Subscribers: anthonyfieroni, meven, kde-frameworks-devel
42 +
43 +Tags: #frameworks
44 +
45 +Differential Revision: https://phabricator.kde.org/D27002
46 +---
47 + src/filewidgets/kurlnavigatorplacesselector.cpp | 5 +++++
48 + 1 file changed, 5 insertions(+)
49 +
50 +diff --git a/src/filewidgets/kurlnavigatorplacesselector.cpp b/src/filewidgets/kurlnavigatorplacesselector.cpp
51 +index 7d33930..103a5fc 100644
52 +--- a/src/filewidgets/kurlnavigatorplacesselector.cpp
53 ++++ b/src/filewidgets/kurlnavigatorplacesselector.cpp
54 +@@ -71,6 +71,11 @@ void KUrlNavigatorPlacesSelector::updateMenu()
55 + {
56 + m_placesMenu->clear();
57 +
58 ++ // Submenus have to be deleted explicitly (QTBUG-11070)
59 ++ for(QObject *obj : QObjectList(m_placesMenu->children())) {
60 ++ delete qobject_cast<QMenu*>(obj); // Noop for nullptr
61 ++ }
62 ++
63 + updateSelection(m_selectedUrl);
64 +
65 + QString previousGroup;
66 +--
67 +cgit v1.1
68
69 diff --git a/kde-frameworks/kio/kio-5.67.0-r1.ebuild b/kde-frameworks/kio/kio-5.67.0-r1.ebuild
70 new file mode 100644
71 index 00000000000..3bd5e746e87
72 --- /dev/null
73 +++ b/kde-frameworks/kio/kio-5.67.0-r1.ebuild
74 @@ -0,0 +1,88 @@
75 +# Copyright 1999-2020 Gentoo Authors
76 +# Distributed under the terms of the GNU General Public License v2
77 +
78 +EAPI=7
79 +
80 +ECM_DESIGNERPLUGIN="true"
81 +ECM_TEST="forceoptional"
82 +PVCUT=$(ver_cut 1-2)
83 +QTMIN=5.12.3
84 +VIRTUALX_REQUIRED="test"
85 +inherit ecm kde.org
86 +
87 +DESCRIPTION="Framework providing transparent file and data management"
88 +LICENSE="LGPL-2+"
89 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
90 +IUSE="acl +handbook kerberos +kwallet X"
91 +
92 +# drop qtnetwork subslot operator when QT_MINIMAL >= 5.15.0
93 +RDEPEND="
94 + dev-libs/libxml2
95 + dev-libs/libxslt
96 + >=dev-qt/qtdbus-${QTMIN}:5
97 + >=dev-qt/qtdeclarative-${QTMIN}:5
98 + >=dev-qt/qtgui-${QTMIN}:5
99 + >=dev-qt/qtnetwork-${QTMIN}:5=[ssl]
100 + >=dev-qt/qtwidgets-${QTMIN}:5
101 + >=dev-qt/qtxml-${QTMIN}:5
102 + =kde-frameworks/kauth-${PVCUT}*:5
103 + =kde-frameworks/karchive-${PVCUT}*:5
104 + =kde-frameworks/kbookmarks-${PVCUT}*:5
105 + =kde-frameworks/kcodecs-${PVCUT}*:5
106 + =kde-frameworks/kcompletion-${PVCUT}*:5
107 + =kde-frameworks/kconfig-${PVCUT}*:5
108 + =kde-frameworks/kconfigwidgets-${PVCUT}*:5
109 + =kde-frameworks/kcoreaddons-${PVCUT}*:5
110 + =kde-frameworks/kcrash-${PVCUT}*:5
111 + =kde-frameworks/kdbusaddons-${PVCUT}*:5
112 + =kde-frameworks/ki18n-${PVCUT}*:5
113 + =kde-frameworks/kiconthemes-${PVCUT}*:5
114 + =kde-frameworks/kitemviews-${PVCUT}*:5
115 + =kde-frameworks/kjobwidgets-${PVCUT}*:5
116 + =kde-frameworks/knotifications-${PVCUT}*:5
117 + =kde-frameworks/kservice-${PVCUT}*:5
118 + =kde-frameworks/ktextwidgets-${PVCUT}*:5
119 + =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
120 + =kde-frameworks/kwindowsystem-${PVCUT}*:5
121 + =kde-frameworks/kxmlgui-${PVCUT}*:5
122 + =kde-frameworks/solid-${PVCUT}*:5
123 + acl? (
124 + sys-apps/attr
125 + virtual/acl
126 + )
127 + handbook? ( =kde-frameworks/kdoctools-${PVCUT}*:5 )
128 + kerberos? ( virtual/krb5 )
129 + kwallet? ( =kde-frameworks/kwallet-${PVCUT}*:5 )
130 + X? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
131 +"
132 +DEPEND="${RDEPEND}
133 + >=dev-qt/qtconcurrent-${QTMIN}:5
134 + test? ( sys-libs/zlib )
135 + X? (
136 + x11-base/xorg-proto
137 + x11-libs/libX11
138 + x11-libs/libXrender
139 + )
140 +"
141 +PDEPEND="
142 + >=kde-frameworks/kded-${PVCUT}:5
143 +"
144 +
145 +# tests hang
146 +RESTRICT+=" test"
147 +
148 +PATCHES=(
149 + "${FILESDIR}"/${P}-memleak.patch # bug 708876, KF-5.68
150 +)
151 +
152 +src_configure() {
153 + local mycmakeargs=(
154 + $(cmake_use_find_package acl ACL)
155 + $(cmake_use_find_package handbook KF5DocTools)
156 + $(cmake_use_find_package kerberos GSSAPI)
157 + $(cmake_use_find_package kwallet KF5Wallet)
158 + $(cmake_use_find_package X X11)
159 + )
160 +
161 + ecm_src_configure
162 +}