diff --git a/src/jamidht/conversation.cpp b/src/jamidht/conversation.cpp index cea344fe15e0a72bf57b2406cb4f4af13d88c720..5f5a9b0c1629a270036533e290662c54d76cbf99 100644 --- a/src/jamidht/conversation.cpp +++ b/src/jamidht/conversation.cpp @@ -864,19 +864,23 @@ Conversation::shutdownConnections() { pimpl_->fallbackTimer_->cancel(); pimpl_->gitSocketList_.clear(); - pimpl_->swarmManager_->shutdown(); + if (pimpl_->swarmManager_) + pimpl_->swarmManager_->shutdown(); pimpl_->checkedMembers_.clear(); } void Conversation::connectivityChanged() { - pimpl_->swarmManager_->maintainBuckets(); + if (pimpl_->swarmManager_) + pimpl_->swarmManager_->maintainBuckets(); } bool Conversation::hasSwarmChannel(const std::string& deviceId) { + if (!pimpl_->swarmManager_) + return false; return pimpl_->swarmManager_->isConnectedWith(DeviceId(deviceId)); } diff --git a/src/jamidht/conversation_module.cpp b/src/jamidht/conversation_module.cpp index 62f5af68207b2684c82ac00a958cd5e11083c9f2..0f7c28db81d47a8991352d4c6f16c5547109865c 100644 --- a/src/jamidht/conversation_module.cpp +++ b/src/jamidht/conversation_module.cpp @@ -2707,11 +2707,9 @@ ConversationModule::addSwarmChannel(const std::string& conversationId, void ConversationModule::connectivityChanged() { - { - std::lock_guard<std::mutex> lk(pimpl_->conversationsMtx_); - for (auto& [k, conversation] : pimpl_->conversations_) { - conversation->connectivityChanged(); - } + std::lock_guard<std::mutex> lk(pimpl_->conversationsMtx_); + for (auto& [k, conversation] : pimpl_->conversations_) { + conversation->connectivityChanged(); } } } // namespace jami