diff options
Diffstat (limited to 'Swiften/Client')
-rw-r--r-- | Swiften/Client/ClientBlockListManager.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Swiften/Client/ClientBlockListManager.cpp b/Swiften/Client/ClientBlockListManager.cpp index d446315..de43631 100644 --- a/Swiften/Client/ClientBlockListManager.cpp +++ b/Swiften/Client/ClientBlockListManager.cpp @@ -125,10 +125,14 @@ void ClientBlockListManager::handleBlockListReceived(boost::shared_ptr<BlockList else { blockList->setItems(payload->getItems()); blockList->setState(BlockList::Available); - blockResponder = boost::make_shared<BlockResponder>(blockList, iqRouter); - blockResponder->start(); - unblockResponder = boost::make_shared<UnblockResponder>(blockList, iqRouter); - unblockResponder->start(); + if (!blockResponder) { + blockResponder = boost::make_shared<BlockResponder>(blockList, iqRouter); + blockResponder->start(); + } + if (!unblockResponder) { + unblockResponder = boost::make_shared<UnblockResponder>(blockList, iqRouter); + unblockResponder->start(); + } } } |