[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [k3b/cdrskin] /: Fix memory leak issue detected by clang sanitizer
From:       Leslie Zhai <xiangzhai83 () gmail ! com>
Date:       2016-11-29 8:39:12
Message-ID: E1cBdwW-0001vF-6l () code ! kde ! org
[Download RAW message or body]

Git commit 330c3e2afba78161635acc9dcdedfae1769ebd00 by Leslie Zhai.
Committed on 29/11/2016 at 08:38.
Pushed by lesliezhai into branch 'cdrskin'.

Fix memory leak issue detected by clang sanitizer

M  +1    -0    libk3b/core/k3bexternalbinmanager.cpp
M  +3    -2    src/k3b.cpp
M  +3    -0    src/k3bthememanager.cpp

https://commits.kde.org/k3b/330c3e2afba78161635acc9dcdedfae1769ebd00

diff --git a/libk3b/core/k3bexternalbinmanager.cpp \
b/libk3b/core/k3bexternalbinmanager.cpp index 0c5cce0..e12aaca 100644
--- a/libk3b/core/k3bexternalbinmanager.cpp
+++ b/libk3b/core/k3bexternalbinmanager.cpp
@@ -234,6 +234,7 @@ void K3b::ExternalProgram::addBin( K3b::ExternalBin* bin )
 
 void K3b::ExternalProgram::clear()
 {
+    qDeleteAll(d->bins);
     d->bins.clear();
 }
 
diff --git a/src/k3b.cpp b/src/k3b.cpp
index 5dc6045..c3c21d4 100644
--- a/src/k3b.cpp
+++ b/src/k3b.cpp
@@ -210,6 +210,7 @@ public:
     // the funny header
     ThemedHeader* documentHeader;
 
+    KFilePlacesModel* filePlacesModel;
     K3b::UrlNavigator* urlNavigator;
 
     K3b::Doc* lastDoc;
@@ -528,8 +529,8 @@ void K3b::MainWindow::initView()
     upperSplitter->addWidget( d->dirView );
 
     // --- filetreecombobox-toolbar \
                ----------------------------------------------------------------
-	KFilePlacesModel* filePlacesModel = new KFilePlacesModel;
-    d->urlNavigator = new K3b::UrlNavigator( filePlacesModel, this );
+	d->filePlacesModel = new KFilePlacesModel;
+    d->urlNavigator = new K3b::UrlNavigator(d->filePlacesModel, this);
     connect( d->urlNavigator, SIGNAL(activated(QUrl)), d->dirView, \
                SLOT(showUrl(QUrl)) );
     connect( d->urlNavigator, SIGNAL(activated(K3b::Device::Device*)), d->dirView, \
                SLOT(showDevice(K3b::Device::Device*)) );
     connect( d->dirView, SIGNAL(urlEntered(QUrl)), d->urlNavigator, \
                SLOT(setUrl(QUrl)) );
diff --git a/src/k3bthememanager.cpp b/src/k3bthememanager.cpp
index 9c916cd..0dab548 100644
--- a/src/k3bthememanager.cpp
+++ b/src/k3bthememanager.cpp
@@ -194,6 +194,9 @@ K3b::ThemeManager::ThemeManager( QObject* parent )
 
 K3b::ThemeManager::~ThemeManager()
 {
+    for (QList<K3b::Theme*>::ConstIterator it = d->themes.constBegin(); it != \
d->themes.constEnd(); ++it) +        delete *it;
+    d->themes.clear();
     delete d;
 }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic