summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2018-07-21 18:14:04 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2018-07-21 18:35:40 +0200
commit744ce06a14601c888a2e9f4cd2a3049c69a98153 (patch)
treefa97373c1f9435301bbd14942ae62d9749132a0e /kde-frameworks/kio/files
parentnet-p2p/ktorrent: Fix build with USE=rss and Qt 5.11 (diff)
downloadgentoo-744ce06a14601c888a2e9f4cd2a3049c69a98153.tar.gz
gentoo-744ce06a14601c888a2e9f4cd2a3049c69a98153.tar.bz2
gentoo-744ce06a14601c888a2e9f4cd2a3049c69a98153.zip
kde-frameworks/kio: Fix memleak in slave jobs
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=396651 Package-Manager: Portage-2.3.43, Repoman-2.3.10
Diffstat (limited to 'kde-frameworks/kio/files')
-rw-r--r--kde-frameworks/kio/files/kio-5.48.0-memleak.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/kde-frameworks/kio/files/kio-5.48.0-memleak.patch b/kde-frameworks/kio/files/kio-5.48.0-memleak.patch
new file mode 100644
index 000000000000..2245c976b8ab
--- /dev/null
+++ b/kde-frameworks/kio/files/kio-5.48.0-memleak.patch
@@ -0,0 +1,65 @@
+From 021daba60fafdf304b1079a705de900c431bb579 Mon Sep 17 00:00:00 2001
+From: Jaime Torres <jtamate@gmail.com>
+Date: Sat, 21 Jul 2018 13:43:35 +0200
+Subject: avoid memory leak in slave jobs
+
+Summary:
+Making ~SlaveInterface virtual, the connection created in Slave constructor is now deleted. (thanks @dfaure).
+Changed to new connect syntax.
+
+BUG: 396651
+
+Test Plan:
+The leaks of the bug report are gone.
+
+Reviewers: dfaure, #frameworks, ngraham
+
+Reviewed By: dfaure
+
+Subscribers: anthonyfieroni, apol, kde-frameworks-devel
+
+Tags: #frameworks
+
+Differential Revision: https://phabricator.kde.org/D14253
+---
+ src/core/slave.cpp | 4 ++--
+ src/core/slaveinterface_p.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/core/slave.cpp b/src/core/slave.cpp
+index 9402b44..7823d73 100644
+--- a/src/core/slave.cpp
++++ b/src/core/slave.cpp
+@@ -171,7 +171,7 @@ void Slave::accept()
+ d->slaveconnserver->deleteLater();
+ d->slaveconnserver = nullptr;
+
+- connect(d->connection, SIGNAL(readyRead()), SLOT(gotInput()));
++ connect(d->connection, &Connection::readyRead, this, &Slave::gotInput);
+ }
+
+ void Slave::timeout()
+@@ -218,7 +218,7 @@ Slave::Slave(const QString &protocol, QObject *parent)
+ Q_D(Slave);
+ d->slaveconnserver->setParent(this);
+ d->connection = new Connection(this);
+- connect(d->slaveconnserver, SIGNAL(newConnection()), SLOT(accept()));
++ connect(d->slaveconnserver, &ConnectionServer::newConnection, this, &Slave::accept);
+ }
+
+ Slave::~Slave()
+diff --git a/src/core/slaveinterface_p.h b/src/core/slaveinterface_p.h
+index 4ed1f36..a4cb5d3 100644
+--- a/src/core/slaveinterface_p.h
++++ b/src/core/slaveinterface_p.h
+@@ -42,7 +42,7 @@ public:
+ nums(0), slave_calcs_speed(false)
+ {
+ }
+- ~SlaveInterfacePrivate()
++ virtual ~SlaveInterfacePrivate()
+ {
+ delete connection;
+ }
+--
+cgit v0.11.2