Pay attention to the width and height provided in WM_SIZE even when
[u/mdw/putty] / windows / winstore.c
index 0e7638f..6e80434 100644 (file)
@@ -23,9 +23,8 @@ static const char hex[16] = "0123456789ABCDEF";
 
 static int tried_shgetfolderpath = FALSE;
 static HMODULE shell32_module = NULL;
-typedef HRESULT (WINAPI *p_SHGetFolderPath_t)
-    (HWND, int, HANDLE, DWORD, LPTSTR);
-static p_SHGetFolderPath_t p_SHGetFolderPath = NULL;
+DECL_WINDOWS_FUNCTION(static, HRESULT, SHGetFolderPathA, 
+                     (HWND, int, HANDLE, DWORD, LPSTR));
 
 static void mungestr(const char *in, char *out)
 {
@@ -498,22 +497,20 @@ static HANDLE access_random_seed(int action)
         * on older versions of Windows if we cared enough.
         * However, the invocation below requires IE5+ anyway,
         * so stuff that. */
-       shell32_module = LoadLibrary("SHELL32.DLL");
-       if (shell32_module) {
-           p_SHGetFolderPath = (p_SHGetFolderPath_t)
-               GetProcAddress(shell32_module, "SHGetFolderPathA");
-       }
+       shell32_module = load_system32_dll("shell32.dll");
+       GET_WINDOWS_FUNCTION(shell32_module, SHGetFolderPathA);
+       tried_shgetfolderpath = TRUE;
     }
-    if (p_SHGetFolderPath) {
-       if (SUCCEEDED(p_SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA,
-                                       NULL, SHGFP_TYPE_CURRENT, seedpath))) {
+    if (p_SHGetFolderPathA) {
+       if (SUCCEEDED(p_SHGetFolderPathA(NULL, CSIDL_LOCAL_APPDATA,
+                                        NULL, SHGFP_TYPE_CURRENT, seedpath))) {
            strcat(seedpath, "\\PUTTY.RND");
            if (try_random_seed(seedpath, action, &rethandle))
                return rethandle;
        }
 
-       if (SUCCEEDED(p_SHGetFolderPath(NULL, CSIDL_APPDATA,
-                                       NULL, SHGFP_TYPE_CURRENT, seedpath))) {
+       if (SUCCEEDED(p_SHGetFolderPathA(NULL, CSIDL_APPDATA,
+                                        NULL, SHGFP_TYPE_CURRENT, seedpath))) {
            strcat(seedpath, "\\PUTTY.RND");
            if (try_random_seed(seedpath, action, &rethandle))
                return rethandle;