From 6644c207c879f33dac40c02ab6787a0c4184728d Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Mon, 15 May 2017 16:33:07 +0200 Subject: Disconnect potentially connected slots from signals in dtor SWIFT-247 Test-Information: Tests pass and builds on macOS 10.12.4 with Qt 5.4.2. Change-Id: I39b62f53c62fba972e6a29e89cd00fb3b4e1a5b5 diff --git a/Swift/QtUI/Roster/QtFilterWidget.cpp b/Swift/QtUI/Roster/QtFilterWidget.cpp index a52dfff..2f561bd 100644 --- a/Swift/QtUI/Roster/QtFilterWidget.cpp +++ b/Swift/QtUI/Roster/QtFilterWidget.cpp @@ -49,7 +49,13 @@ QtFilterWidget::QtFilterWidget(QWidget* parent, QtTreeWidget* treeView, UIEventS QtFilterWidget::~QtFilterWidget() { filterLineEdit_->removeEventFilter(this); - treeView_->removeEventFilter(this); + if (treeView_) { + treeView_->removeEventFilter(this); + if (treeView_->getRoster()) { + treeView_->getRoster()->onFilterAdded.disconnect(boost::bind(&QtFilterWidget::handleFilterAdded, this, _1)); + treeView_->getRoster()->onFilterRemoved.disconnect(boost::bind(&QtFilterWidget::handleFilterRemoved, this, _1)); + } + } } bool QtFilterWidget::eventFilter(QObject*, QEvent* event) { -- cgit v0.10.2-6-g49f6