Index: src/libchcore/TSubTaskFastMove.cpp =================================================================== diff -u -N -r081055369d6b332ef1651877756657973b1b2d9c -rfc67a825635691930b3ac00dc95b16e59f3d2fae --- src/libchcore/TSubTaskFastMove.cpp (.../TSubTaskFastMove.cpp) (revision 081055369d6b332ef1651877756657973b1b2d9c) +++ src/libchcore/TSubTaskFastMove.cpp (.../TSubTaskFastMove.cpp) (revision fc67a825635691930b3ac00dc95b16e59f3d2fae) @@ -89,9 +89,9 @@ } } - void TFastMoveProgressInfo::InitLoader(IColumnsDefinition& rColumns) + void TFastMoveProgressInfo::InitColumns(IColumnsDefinition& rColumns) { - rColumns % _T("current_index"); + rColumns.AddColumn(_T("current_index"), IColumnsDefinition::eType_sizet); } void TFastMoveProgressInfo::Load(const ISerializerRowReaderPtr& spRowReader) @@ -312,6 +312,9 @@ void TSubTaskFastMove::Store(const ISerializerPtr& spSerializer) const { ISerializerContainerPtr spContainer = spSerializer->GetContainer(_T("subtask_fastmove")); + + InitColumns(spContainer); + ISerializerRowDataPtr spRow; if(m_tProgressInfo.WasSerialized()) @@ -327,12 +330,7 @@ { ISerializerContainerPtr spContainer = spSerializer->GetContainer(_T("subtask_fastmove")); - IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); - if(rColumns.IsEmpty()) - { - details::TFastMoveProgressInfo::InitLoader(rColumns); - TSubTaskStatsInfo::InitLoader(rColumns); - } + InitColumns(spContainer); ISerializerRowReaderPtr spRowReader = spContainer->GetRowReader(); if(spRowReader->Next()) @@ -342,4 +340,14 @@ } } +void TSubTaskFastMove::InitColumns(const ISerializerContainerPtr& spContainer) const +{ + IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition(); + if(rColumns.IsEmpty()) + { + details::TFastMoveProgressInfo::InitColumns(rColumns); + TSubTaskStatsInfo::InitColumns(rColumns); + } +} + END_CHCORE_NAMESPACE