Index: src/libchcore/TTaskInfo.cpp
===================================================================
diff -u -r293e52b38d46653068006262172018a0f0d0a31c -r081055369d6b332ef1651877756657973b1b2d9c
--- src/libchcore/TTaskInfo.cpp	(.../TTaskInfo.cpp)	(revision 293e52b38d46653068006262172018a0f0d0a31c)
+++ src/libchcore/TTaskInfo.cpp	(.../TTaskInfo.cpp)	(revision 081055369d6b332ef1651877756657973b1b2d9c)
@@ -102,12 +102,9 @@
 	m_setModifications.reset();
 }
 
-void TTaskInfoEntry::InitLoader(const IColumnsDefinitionPtr& spColumnDefs)
+void TTaskInfoEntry::InitLoader(IColumnsDefinition& rColumnDefs)
 {
-	if(!spColumnDefs)
-		THROW_CORE_EXCEPTION(eErr_InvalidPointer);
-
-	*spColumnDefs % _T("id") % _T("path") % _T("task_order");
+	rColumnDefs % _T("id") % _T("path") % _T("task_order");
 }
 
 size_t TTaskInfoEntry::GetObjectID() const
@@ -216,9 +213,9 @@
 void TTaskInfoContainer::Load(const ISerializerContainerPtr& spContainer)
 {
 	ISerializerRowReaderPtr spRowReader = spContainer->GetRowReader();
-	IColumnsDefinitionPtr spColumns = spRowReader->GetColumnsDefinitions();
-	if(spColumns->IsEmpty())
-		TTaskInfoEntry::InitLoader(spColumns);
+	IColumnsDefinition& rColumns = spRowReader->GetColumnsDefinitions();
+	if(rColumns.IsEmpty())
+		TTaskInfoEntry::InitLoader(rColumns);
 
 	TTaskInfoEntry tEntry;
 	while(spRowReader->Next())