From 747605d4953132acfdc92490cf8a2aa85136ef87 Mon Sep 17 00:00:00 2001 From: Slava Monich Date: Mon, 22 Sep 2014 14:17:38 +0400 Subject: [PATCH] [transfer-engine] Fix memory leaks --- src/dbmanager.cpp | 2 +- src/dbmanager.h | 2 +- src/transferengine.cpp | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dbmanager.cpp b/src/dbmanager.cpp index cc1e3ea..edb896a 100644 --- a/src/dbmanager.cpp +++ b/src/dbmanager.cpp @@ -405,7 +405,7 @@ int DbManager::createCallbackEntry(int key, This method returns a key of the created transfer or -1 on failure. */ -int DbManager::createTransferEntry(MediaItem *mediaItem) +int DbManager::createTransferEntry(const MediaItem *mediaItem) { Q_D(DbManager); QSqlQuery query; diff --git a/src/dbmanager.h b/src/dbmanager.h index d08ec7b..3fb8437 100644 --- a/src/dbmanager.h +++ b/src/dbmanager.h @@ -51,7 +51,7 @@ class DbManager const QString &cancelMethod, const QString &restartMethod); - int createTransferEntry(MediaItem *mediaItem); + int createTransferEntry(const MediaItem *mediaItem); bool updateTransferStatus(int key, TransferEngineData::TransferStatus status); diff --git a/src/transferengine.cpp b/src/transferengine.cpp index 40a182e..c560d1b 100644 --- a/src/transferengine.cpp +++ b/src/transferengine.cpp @@ -236,10 +236,8 @@ void TransferEnginePrivate::enabledPluginsCheck() if (info->ready()) { if (info->info().count() > 0) { m_enabledPlugins << info->info(); - } else { - // Plugin has nothing to provide, just ignore it - delete info; } + delete info; } else { // These object will be cleaned in pluginInfoReady() slot. m_infoObjects << info; @@ -1020,6 +1018,8 @@ int TransferEngine::createSync(const QString &displayName, mediaItem->setValue(MediaItem::RestartSupported,!restartMethod.isEmpty()); const int key = DbManager::instance()->createTransferEntry(mediaItem); + delete mediaItem; + Q_D(TransferEngine); d->m_activityMonitor->newActivity(key); d->m_keyTypeCache.insert(key, TransferEngineData::Sync);