diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/zenserver/projectstore/projectstore.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp index 08b4a6db5..4b0c801bc 100644 --- a/src/zenserver/projectstore/projectstore.cpp +++ b/src/zenserver/projectstore/projectstore.cpp @@ -1255,9 +1255,16 @@ ProjectStore::Project::DeleteOplog(std::string_view OplogId) { RwLock::ExclusiveLockScope _(m_ProjectLock); - auto OplogIt = m_Oplogs.find(std::string(OplogId)); + if (auto OplogIt = m_Oplogs.find(std::string(OplogId)); OplogIt == m_Oplogs.end()) + { + std::filesystem::path OplogBasePath = BasePathForOplog(OplogId); - if (OplogIt != m_Oplogs.end()) + if (Oplog::ExistsAt(OplogBasePath)) + { + DeletePath = OplogBasePath; + } + } + else { std::unique_ptr<Oplog>& Oplog = OplogIt->second; DeletePath = Oplog->PrepareForDelete(true); |