summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Swift/QtUI/Roster/QtFilterWidget.cpp8
1 files changed, 7 insertions, 1 deletions
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
@@ -51,3 +51,9 @@ 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));
+ }
+ }
}