Fix memory leaks
This commit is contained in:
@@ -32,14 +32,19 @@
|
||||
|
||||
ScrobblerServices::ScrobblerServices(QObject *parent) : QObject(parent) {}
|
||||
|
||||
ScrobblerServices::~ScrobblerServices() {}
|
||||
ScrobblerServices::~ScrobblerServices() {
|
||||
|
||||
while (!scrobbler_services_.isEmpty()) {
|
||||
delete scrobbler_services_.take(scrobbler_services_.firstKey());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void ScrobblerServices::AddService(ScrobblerService *service) {
|
||||
|
||||
{
|
||||
QMutexLocker locker(&mutex_);
|
||||
scrobbler_services_.insert(service->name(), service);
|
||||
connect(service, SIGNAL(destroyed()), SLOT(ServiceDestroyed()));
|
||||
}
|
||||
|
||||
qLog(Debug) << "Registered scrobbler service" << service->name();
|
||||
@@ -60,13 +65,6 @@ void ScrobblerServices::RemoveService(ScrobblerService *service) {
|
||||
|
||||
}
|
||||
|
||||
void ScrobblerServices::ServiceDestroyed() {
|
||||
|
||||
ScrobblerService *service = static_cast<ScrobblerService*>(sender());
|
||||
RemoveService(service);
|
||||
|
||||
}
|
||||
|
||||
int ScrobblerServices::NextId() { return next_id_.fetchAndAddRelaxed(1); }
|
||||
|
||||
ScrobblerService *ScrobblerServices::ServiceByName(const QString &name) {
|
||||
|
||||
Reference in New Issue
Block a user