Index: src/ch/task.cpp
===================================================================
diff -u -N -r644f7481fc638fc673e2f390e9f0172492279be5 -ref313208b7c4a113907f2f72ee0b73406081501d
--- src/ch/task.cpp	(.../task.cpp)	(revision 644f7481fc638fc673e2f390e9f0172492279be5)
+++ src/ch/task.cpp	(.../task.cpp)	(revision ef313208b7c4a113907f2f72ee0b73406081501d)
@@ -346,7 +346,6 @@
 	m_bForce(false),
 	m_bContinue(false),
 	m_bSaved(false),
-	m_lOsError(0),
 	m_stSessionUniqueID(stSessionUniqueID),
 	m_localStats()
 {
@@ -654,10 +653,7 @@
 		m_stCurrentIndex = stData;
 		ar >> uiData;
 		m_nStatus = uiData;
-		ar >> m_lOsError;
 
-		ar >> m_strErrorDesc;
-
 		ar >> m_bsSizes;
 		ar >> m_nPriority;
 
@@ -726,10 +722,7 @@
 		ar << stCurrentIndex;
 		UINT uiStatus = (m_nStatus & ST_WRITE_MASK);
 		ar << uiStatus;
-		ar << m_lOsError;
 
-		ar << m_strErrorDesc;
-
 		ar << m_bsSizes;
 		ar << m_nPriority;
 
@@ -895,8 +888,6 @@
 	pData->m_nPriority=m_nPriority;
 	pData->m_pdpDestPath=&m_dpDestPath;
 	pData->m_pafFilters=&m_afFilters;
-	pData->m_dwOsErrorCode=m_lOsError;
-	pData->m_strErrorDesc=m_strErrorDesc;
 	pData->m_uiStatus=m_nStatus;
 	pData->m_stIndex=m_stCurrentIndex+m_ucCurrentCopy*m_files.GetSize();
 	pData->m_ullProcessedSize = m_localStats.GetProcessedSize();
@@ -1015,13 +1006,6 @@
    DeleteFile(strDel3);
 }
 
-void CTask::SetOsErrorCode(DWORD dwError, LPCTSTR lpszErrDesc)
-{
-   boost::unique_lock<boost::shared_mutex> lock(m_lock);
-	m_lOsError=dwError;
-	m_strErrorDesc=lpszErrDesc;
-}
-
 void CTask::UpdateTime()
 {
    boost::unique_lock<boost::shared_mutex> lock(m_lock);
@@ -2748,7 +2732,6 @@
 		{
 		case E_ERROR:
 			pTask->SetStatus(ST_ERROR, ST_WORKING_MASK);
-			pTask->SetOsErrorCode(e->m_dwError, e->m_strErrorDesc);
 			break;
 		case E_CANCEL:
 			pTask->SetStatus(ST_CANCELLED, ST_STEP_MASK);