From 9c31cfa915f71adee8579aa97c12b64903ec9446 Mon Sep 17 00:00:00 2001 From: Tannin Date: Fri, 30 Aug 2013 20:59:12 +0200 Subject: - the download manager now registers download speed. Right now this is only used to display an average speed on the settings menu - added a python27.dll compiled with vc100. This can now be bundled without introducing more dependencies - bugfix: extracting now stops after an error - bugfix: the way hook.dll caused CREATE_ALWAYS/CREATE_NEW to always write into overwrite could lead to the file being created when the call should have failed (because the file existed and was protected) - bugfix: GetPrivateProfileString does NOT properly report files as missing. This means that the ini-query optimization could optimize away requests that should work - bugfix: fomod installer couldn't display images because they were unpacked to the wrong temporary location - bugfix: When disabling local saves and choosing to delete the saves nothing happened - bugfix: the python plugin couldn't find the pyqt libraries --- src/shared/directoryentry.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/shared/directoryentry.cpp') diff --git a/src/shared/directoryentry.cpp b/src/shared/directoryentry.cpp index 802c3696..bd33fef6 100644 --- a/src/shared/directoryentry.cpp +++ b/src/shared/directoryentry.cpp @@ -27,6 +27,7 @@ along with Mod Organizer. If not, see . #include "util.h" #include "windows_error.h" #include +#include #include "util.h" #include "leaktrace.h" @@ -443,16 +444,10 @@ FilesOrigin &DirectoryEntry::createOrigin(const std::wstring &originName, const void DirectoryEntry::addFromOrigin(const std::wstring &originName, const std::wstring &directory, int priority) { FilesOrigin &origin = createOrigin(originName, directory, priority); - wchar_t *buffer = new wchar_t[MAXPATH_UNICODE + 1]; - memset(buffer, L'\0', MAXPATH_UNICODE + 1); - try { - int offset = _snwprintf(buffer, MAXPATH_UNICODE, L"%ls", directory.c_str()); - addFiles(origin, buffer, offset); - } catch (...) { - delete [] buffer; - buffer = NULL; - } - delete [] buffer; + boost::scoped_array buffer(new wchar_t[MAXPATH_UNICODE + 1]); + memset(buffer.get(), L'\0', MAXPATH_UNICODE + 1); + int offset = _snwprintf(buffer.get(), MAXPATH_UNICODE, L"%ls", directory.c_str()); + addFiles(origin, buffer.get(), offset); m_Populated = true; } -- cgit v1.3.1