Index: src/ch/FeedbackHandler.cpp
===================================================================
diff -u -N -r22bbc4a87fa0b249e1e02ba385f28da9d77a4aa1 -r9ea1e103b5fa4ddfebf8028f121ce16e917eec04
--- src/ch/FeedbackHandler.cpp	(.../FeedbackHandler.cpp)	(revision 22bbc4a87fa0b249e1e02ba385f28da9d77a4aa1)
+++ src/ch/FeedbackHandler.cpp	(.../FeedbackHandler.cpp)	(revision 9ea1e103b5fa4ddfebf8028f121ce16e917eec04)
@@ -92,26 +92,26 @@
 		}
 	case eFT_OperationFinished:
 		{
-			if(GetConfig().get_bool(PP_SNDPLAYSOUNDS))
+			if(GetPropValue<PP_SNDPLAYSOUNDS>(GetConfig()))
 			{
-				TCHAR* pszPath = new TCHAR[_MAX_PATH];
-				GetConfig().get_string(PP_SNDFINISHEDSOUNDPATH, pszPath, _MAX_PATH);
-				GetApp().ExpandPath(pszPath);
-				PlaySound(pszPath, NULL, SND_FILENAME | SND_ASYNC);
-				delete [] pszPath;
+				CString strPath = GetPropValue<PP_SNDFINISHEDSOUNDPATH>(GetConfig());
+				GetApp().ExpandPath(strPath.GetBufferSetLength(_MAX_PATH));
+				strPath.ReleaseBuffer();
+
+				PlaySound(strPath, NULL, SND_FILENAME | SND_ASYNC);
 			}
 
 			break;
 		}
 	case eFT_OperationError:
 		{
-			if(GetConfig().get_bool(PP_SNDPLAYSOUNDS))
+			if(GetPropValue<PP_SNDPLAYSOUNDS>(GetConfig()))
 			{
-				TCHAR* pszPath = new TCHAR[_MAX_PATH];
-				GetConfig().get_string(PP_SNDERRORSOUNDPATH, pszPath, _MAX_PATH);
-				GetApp().ExpandPath(pszPath);
-				PlaySound(pszPath, NULL, SND_FILENAME | SND_ASYNC);
-				delete [] pszPath;
+				CString strPath = GetPropValue<PP_SNDERRORSOUNDPATH>(GetConfig());
+				GetApp().ExpandPath(strPath.GetBufferSetLength(_MAX_PATH));
+				strPath.ReleaseBuffer();
+
+				PlaySound(strPath, NULL, SND_FILENAME | SND_ASYNC);
 			}
 
 			break;