From 24dc5a03f3790741aeba5154912d16083a0f5925 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Sat, 17 Feb 2024 12:21:26 +0100 Subject: [PATCH] fix dup on write --- src/fragment_store/message_fragment_store.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/fragment_store/message_fragment_store.cpp b/src/fragment_store/message_fragment_store.cpp index b81ca07..c1050a9 100644 --- a/src/fragment_store/message_fragment_store.cpp +++ b/src/fragment_store/message_fragment_store.cpp @@ -50,6 +50,12 @@ namespace Fragment::Components { } // Fragment::Components void MessageFragmentStore::handleMessage(const Message3Handle& m) { + if (_fs_ignore_event) { + // message event because of us loading a fragment, ignore + // TODO: this barely makes a difference + return; + } + if (!static_cast(m)) { return; // huh? } @@ -319,10 +325,15 @@ float MessageFragmentStore::tick(float time_delta) { continue; } + // require msg and file for now if (!reg->any_of(m)) { continue; } + if (_fuid_save_queue.front().id != reg->get(m).v) { + continue; // not ours + } + auto& j_entry = j.emplace_back(nlohmann::json::object()); for (const auto& [type_id, storage] : reg->storage()) {