From 41e2de1738ec3ab56b72d1a4bf30acc31e45b3ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Tue, 4 Jul 2023 09:17:02 -0400 Subject: [PATCH] conversation_module: avoid useless removeRepository if already erased Do not call removeRepository/saveConvInfos if conversation is already erased. Change-Id: I8f7907819cd76f5e9dd2f0f484d70ab850282108 --- src/jamidht/conversation_module.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/jamidht/conversation_module.cpp b/src/jamidht/conversation_module.cpp index 623db0a95b..8919f1831d 100644 --- a/src/jamidht/conversation_module.cpp +++ b/src/jamidht/conversation_module.cpp @@ -1933,12 +1933,18 @@ ConversationModule::onSyncData(const SyncMsg& msg, auto& ci = pimpl_->convInfos_; auto itConv = ci.find(convId); if (itConv != ci.end()) { - itConv->second.removed = std::time(nullptr); - if (convInfo.erased) { + auto update = false; + if (!itConv->second.removed) { + update = true; + itConv->second.removed = std::time(nullptr); + } + if (convInfo.erased && !itConv->second.erased) { itConv->second.erased = std::time(nullptr); pimpl_->saveConvInfos(); lk.unlock(); pimpl_->removeRepository(convId, false); + } else if (update) { + pimpl_->saveConvInfos(); } } } -- GitLab