Index: src/libchcore/TFileInfoArray.cpp =================================================================== diff -u -N -r121d674474766192b5bf02afda67fb962635f56b -re92d7e2b63df1305b23aa04132c45ad8747dc22c --- src/libchcore/TFileInfoArray.cpp (.../TFileInfoArray.cpp) (revision 121d674474766192b5bf02afda67fb962635f56b) +++ src/libchcore/TFileInfoArray.cpp (.../TFileInfoArray.cpp) (revision e92d7e2b63df1305b23aa04132c45ad8747dc22c) @@ -79,12 +79,12 @@ void TFileInfoArray::Clear() { boost::unique_lock lock(m_lock); - m_vFiles.clear(); m_bComplete = false; BOOST_FOREACH(const TFileInfoPtr& spFileInfo, m_vFiles) { m_setRemovedObjects.Add(spFileInfo->GetObjectID()); } + m_vFiles.clear(); } unsigned long long TFileInfoArray::CalculateTotalSize() const @@ -141,6 +141,9 @@ // to scan again)). if(m_bComplete) { + spContainer->DeleteRows(m_setRemovedObjects); + m_setRemovedObjects.Clear(); + BOOST_FOREACH(const TFileInfoPtr& spFileInfo, m_vFiles) { spFileInfo->Store(spContainer);