Index: src/libchcore/TSubTaskDelete.cpp =================================================================== diff -u -N -r081055369d6b332ef1651877756657973b1b2d9c -rfc67a825635691930b3ac00dc95b16e59f3d2fae --- src/libchcore/TSubTaskDelete.cpp (.../TSubTaskDelete.cpp) (revision 081055369d6b332ef1651877756657973b1b2d9c) +++ src/libchcore/TSubTaskDelete.cpp (.../TSubTaskDelete.cpp) (revision fc67a825635691930b3ac00dc95b16e59f3d2fae) @@ -87,9 +87,9 @@ } } - void TDeleteProgressInfo::InitLoader(IColumnsDefinition& rColumns) + void TDeleteProgressInfo::InitColumns(IColumnsDefinition& rColumns) { - rColumns % _T("current_index"); + rColumns.AddColumn(_T("current_index"), IColumnsDefinition::eType_sizet); } void TDeleteProgressInfo::Load(const ISerializerRowReaderPtr& spRowReader) @@ -253,6 +253,8 @@ void TSubTaskDelete::Store(const ISerializerPtr& spSerializer) const { ISerializerContainerPtr spContainer = spSerializer->GetContainer(_T("subtask_delete")); + InitColumns(spContainer); + ISerializerRowDataPtr spRow; if(m_tProgressInfo.WasSerialized()) @@ -268,12 +270,7 @@ { ISerializerContainerPtr spContainer = spSerializer->GetContainer(_T("subtask_delete")); - IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); - if(rColumns.IsEmpty()) - { - details::TDeleteProgressInfo::InitLoader(rColumns); - TSubTaskStatsInfo::InitLoader(rColumns); - } + InitColumns(spContainer); ISerializerRowReaderPtr spRowReader = spContainer->GetRowReader(); if(spRowReader->Next()) @@ -283,4 +280,14 @@ } } +void TSubTaskDelete::InitColumns(const ISerializerContainerPtr& spContainer) const +{ + IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); + if(rColumns.IsEmpty()) + { + details::TDeleteProgressInfo::InitColumns(rColumns); + TSubTaskStatsInfo::InitColumns(rColumns); + } +} + END_CHCORE_NAMESPACE