Index: src/ch/Structs.cpp
===================================================================
diff -u -N -re912e0a6b456c2eed24bec7303a908d3ff0aa59a -r09d557ffefb1dd57e7606695e16c3151e42285f2
--- src/ch/Structs.cpp	(.../Structs.cpp)	(revision e912e0a6b456c2eed24bec7303a908d3ff0aa59a)
+++ src/ch/Structs.cpp	(.../Structs.cpp)	(revision 09d557ffefb1dd57e7606695e16c3151e42285f2)
@@ -939,13 +939,13 @@
 	else if ((m_nStatus & ST_OPERATION_MASK) == ST_COPY )
 	{
 		_tcscat(pData->m_szStatusText, GetResManager()->LoadString(IDS_STATUS0_STRING+1));
-		if (m_afFilters.GetSize())
+		if(!m_afFilters.IsEmpty())
 			_tcscat(pData->m_szStatusText, GetResManager()->LoadString(IDS_FILTERING_STRING));
 	}
 	else if ( (m_nStatus & ST_OPERATION_MASK) == ST_MOVE )
 	{
 		_tcscat(pData->m_szStatusText, GetResManager()->LoadString(IDS_STATUS0_STRING+2));
-		if (m_afFilters.GetSize())
+		if(!m_afFilters.IsEmpty())
 			_tcscat(pData->m_szStatusText, GetResManager()->LoadString(IDS_FILTERING_STRING));
 	}
 	else
@@ -1052,8 +1052,12 @@
 
 void CTask::SetFilters(const CFiltersArray* pFilters)
 {
+	BOOST_ASSERT(pFilters);
+	if(!pFilters)
+		return;
+
 	m_cs.Lock();
-	m_afFilters.Copy(*pFilters);
+	m_afFilters = *pFilters;
 	m_cs.Unlock();
 }