Index: src/libchcore/TSubTaskDelete.cpp =================================================================== diff -u -N -r548382442cbf7bed7f744b279ce3f66b54992724 -ra5f396da5ed5ffb3fcd9fdf22afb5a7fd07e1ab8 --- src/libchcore/TSubTaskDelete.cpp (.../TSubTaskDelete.cpp) (revision 548382442cbf7bed7f744b279ce3f66b54992724) +++ src/libchcore/TSubTaskDelete.cpp (.../TSubTaskDelete.cpp) (revision a5f396da5ed5ffb3fcd9fdf22afb5a7fd07e1ab8) @@ -98,6 +98,7 @@ TSubTaskDelete::TSubTaskDelete(TSubTaskContext& rContext) : TSubTaskBase(rContext) { + m_tSubTaskStats.SetSubOperationType(eSubOperation_Deleting); } void TSubTaskDelete::Reset() @@ -223,9 +224,16 @@ return TSubTaskBase::eSubResult_Continue; } -void TSubTaskDelete::GetStatsSnapshot(TSubTaskStatsSnapshot& rStats) const +void TSubTaskDelete::GetStatsSnapshot(TSubTaskStatsSnapshotPtr& spStats) const { - m_tSubTaskStats.GetSnapshot(rStats); + m_tSubTaskStats.GetSnapshot(spStats); + // if this subtask is not started yet, try to get the most fresh information for processing + if(!spStats->IsRunning() && spStats->GetTotalCount() == 0 && spStats->GetTotalSize() == 0) + { + spStats->SetTotalCount(GetContext().GetFilesCache().GetSize()); + spStats->SetTotalSize(0); + } + } END_CHCORE_NAMESPACE