From 021daba60fafdf304b1079a705de900c431bb579 Mon Sep 17 00:00:00 2001 From: Jaime Torres 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