From d1212e0b1a66e3ea6a049ef8e985033adb661919 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Sat, 6 Apr 2013 18:36:41 +0000 Subject: [PATCH] (svn r25153) -Fix [FS#5522] (r24487): [Win32] Don't statically link to SHGetFolderPath as it may not exist. --- src/fontcache.cpp | 2 +- src/os/windows/win32.cpp | 4 ++-- src/os/windows/win32.h | 6 ------ 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/fontcache.cpp b/src/fontcache.cpp index d5f2b3f7c4..1d7f528d63 100644 --- a/src/fontcache.cpp +++ b/src/fontcache.cpp @@ -173,7 +173,7 @@ static FT_Error GetFontByFaceName(const char *font_name, FT_Face *face) } } - if (!SUCCEEDED(SHGetFolderPath(NULL, CSIDL_FONTS, NULL, SHGFP_TYPE_CURRENT, vbuffer))) { + if (!SUCCEEDED(OTTDSHGetFolderPath(NULL, CSIDL_FONTS, NULL, SHGFP_TYPE_CURRENT, vbuffer))) { DEBUG(freetype, 0, "SHGetFolderPath cannot return fonts directory"); goto folder_error; } diff --git a/src/os/windows/win32.cpp b/src/os/windows/win32.cpp index 992ae16c71..bf42353465 100644 --- a/src/os/windows/win32.cpp +++ b/src/os/windows/win32.cpp @@ -505,14 +505,14 @@ void DetermineBasePaths(const char *exe) char tmp[MAX_PATH]; TCHAR path[MAX_PATH]; #ifdef WITH_PERSONAL_DIR - SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, path); + OTTDSHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, path); strecpy(tmp, WIDE_TO_MB_BUFFER(path, tmp, lengthof(tmp)), lastof(tmp)); AppendPathSeparator(tmp, MAX_PATH); ttd_strlcat(tmp, PERSONAL_DIR, MAX_PATH); AppendPathSeparator(tmp, MAX_PATH); _searchpaths[SP_PERSONAL_DIR] = strdup(tmp); - SHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, SHGFP_TYPE_CURRENT, path); + OTTDSHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, SHGFP_TYPE_CURRENT, path); strecpy(tmp, WIDE_TO_MB_BUFFER(path, tmp, lengthof(tmp)), lastof(tmp)); AppendPathSeparator(tmp, MAX_PATH); ttd_strlcat(tmp, PERSONAL_DIR, MAX_PATH); diff --git a/src/os/windows/win32.h b/src/os/windows/win32.h index 66c519973f..941d3ea840 100644 --- a/src/os/windows/win32.h +++ b/src/os/windows/win32.h @@ -40,12 +40,6 @@ extern uint _codepage; // local code-page in the system @see win32_v.cpp:WM_INPU # define WIDE_TO_MB_BUFFER(str, buffer, buflen) (str) #endif -/* Override SHGetFolderPath with our custom implementation */ -#if defined(SHGetFolderPath) -#undef SHGetFolderPath -#endif -#define SHGetFolderPath OTTDSHGetFolderPath - HRESULT OTTDSHGetFolderPath(HWND, int, HANDLE, DWORD, LPTSTR); #if defined(__MINGW32__)