From 6644c207c879f33dac40c02ab6787a0c4184728d Mon Sep 17 00:00:00 2001
From: Tobias Markmann <tm@ayena.de>
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