summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-02-08 15:40:50 (GMT)
committerTobias Markmann <tm@ayena.de>2015-02-09 15:36:19 (GMT)
commit1c64e31945e80e927f87a0a94ec5ce0e00c40a7f (patch)
tree80f00a3d133ec27945445728ec312c5900c0f975 /Swift/Controllers
parentef319397be8439482fdf95f46a29643d15980b37 (diff)
downloadswift-1c64e31945e80e927f87a0a94ec5ce0e00c40a7f.zip
swift-1c64e31945e80e927f87a0a94ec5ce0e00c40a7f.tar.bz2
Fix memory leaks reported by LSAN
Qt models are not owned by their widgets. They must be deleted manually or a parent has to be specified for them which will take care of deletion. The same goes for delegates and their views. Test-Information: Tested with Clang's leak sanitizer (part of address sanitizer). The leak reports for the respective lines are gone with this fix. Change-Id: Ia7407cb20ae9e4ccc2e1cf48c88877c2f87352e1
Diffstat (limited to 'Swift/Controllers')
-rw-r--r--Swift/Controllers/MainController.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp
index d8c32be..328d837 100644
--- a/Swift/Controllers/MainController.cpp
+++ b/Swift/Controllers/MainController.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2014 Isode Limited.
+ * Copyright (c) 2010-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -123,6 +123,7 @@ MainController::MainController(
emoticons_(emoticons) {
storages_ = NULL;
certificateStorage_ = NULL;
+ certificateTrustChecker_ = NULL;
statusTracker_ = NULL;
presenceNotifier_ = NULL;
eventNotifier_ = NULL;
@@ -270,6 +271,8 @@ void MainController::resetClient() {
eventNotifier_ = NULL;
delete presenceNotifier_;
presenceNotifier_ = NULL;
+ delete certificateTrustChecker_;
+ certificateTrustChecker_ = NULL;
delete certificateStorage_;
certificateStorage_ = NULL;
delete storages_;