Index: src/ch/DirTreeCtrl.cpp =================================================================== diff -u -r4c272b19c74694c428c943011f279ec064fbd894 -r5710fadbac5568e52aff80f31495c33577d431ce --- src/ch/DirTreeCtrl.cpp (.../DirTreeCtrl.cpp) (revision 4c272b19c74694c428c943011f279ec064fbd894) +++ src/ch/DirTreeCtrl.cpp (.../DirTreeCtrl.cpp) (revision 5710fadbac5568e52aff80f31495c33577d431ce) @@ -613,9 +613,10 @@ NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; _SHELLITEMDATA *psid=reinterpret_cast<_SHELLITEMDATA*>(pNMTreeView->itemOld.lParam); - if (psid) + if(psid) { - psid->lpsf->Release(); + if(psid->lpsf) + psid->lpsf->Release(); FreePidl(psid->lpiidl); FreePidl(psid->lpiidlRelative); delete psid; Index: src/ch/ResourceManager.h =================================================================== diff -u -r7a096cad617f85582370a1c788c45442d39efc8c -r5710fadbac5568e52aff80f31495c33577d431ce --- src/ch/ResourceManager.h (.../ResourceManager.h) (revision 7a096cad617f85582370a1c788c45442d39efc8c) +++ src/ch/ResourceManager.h (.../ResourceManager.h) (revision 5710fadbac5568e52aff80f31495c33577d431ce) @@ -91,6 +91,7 @@ protected: void SetFnameData(PTSTR *ppszDst, PCTSTR pszSrc); static void EnumAttributesCallback(bool bGroup, const tchar_t* pszName, const tchar_t* pszValue, ptr_t pData); + static void UnescapeString(tchar_t* pszData); public: TCHAR *m_pszFilename; // file name of the language data (with path)