diff --git a/SKSE/Plugins/ArtifactTracker.dll b/SKSE/Plugins/ArtifactTracker.dll index a5f3ca5..f004d2c 100644 Binary files a/SKSE/Plugins/ArtifactTracker.dll and b/SKSE/Plugins/ArtifactTracker.dll differ diff --git a/Source/ArtifactTrackerDLL/src/ArtifactTracker.cpp b/Source/ArtifactTrackerDLL/src/ArtifactTracker.cpp index 88a924c..c331fbd 100644 --- a/Source/ArtifactTrackerDLL/src/ArtifactTracker.cpp +++ b/Source/ArtifactTrackerDLL/src/ArtifactTracker.cpp @@ -269,7 +269,9 @@ namespace ArtifactTracker g_bBookShelf = false; std::thread([]() { std::this_thread::sleep_for(std::chrono::milliseconds(1200)); - ArtifactTracker::SyncCellStorage(); + SKSE::GetTaskInterface()->AddTask([&]() { + ArtifactTracker::SyncCellStorage(); + }); }).detach(); } else { SyncCellStorage(); @@ -757,7 +759,9 @@ namespace ArtifactTracker g_iFollowerIndex = iCurrentFollowers; std::thread([]() { std::this_thread::sleep_for(std::chrono::milliseconds(3000)); // wait for followers to load into the new cell - RescanFoundArtifacts(); + SKSE::GetTaskInterface()->AddTask([&]() { + RescanFoundArtifacts(); + }); }).detach(); } } diff --git a/Source/ArtifactTrackerDLL/src/EventListener.cpp b/Source/ArtifactTrackerDLL/src/EventListener.cpp index de15aec..0cfe6b3 100644 --- a/Source/ArtifactTrackerDLL/src/EventListener.cpp +++ b/Source/ArtifactTrackerDLL/src/EventListener.cpp @@ -116,7 +116,9 @@ auto EventListener::ProcessEvent( if (ref && ArtifactTracker::IsArtifact(ref->GetBaseObject())) { std::thread([]() { std::this_thread::sleep_for(std::chrono::milliseconds(200)); - ArtifactTracker::SyncCellStorage(); + SKSE::GetTaskInterface()->AddTask([&]() { + ArtifactTracker::SyncCellStorage(); + }); }).detach(); } }