diff options
author | Tobias Markmann <tm@ayena.de> | 2015-02-08 15:40:50 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2015-02-09 15:36:19 (GMT) |
commit | 1c64e31945e80e927f87a0a94ec5ce0e00c40a7f (patch) | |
tree | 80f00a3d133ec27945445728ec312c5900c0f975 /Swift/Controllers | |
parent | ef319397be8439482fdf95f46a29643d15980b37 (diff) | |
download | swift-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.cpp | 5 |
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_; |