use GetModuleHandleW() to retrieve kernel32.dll handle (bug #5390.)
SDL_systhread.c and SDL_syslocale.c used to call LoadLibrary() without calling FreeLibrary() later. GetModuleHandleW() should always succeed because GetModuleHandleW() itself is imported from kernel32.dll and we don't need to bother releasing it.main
parent
9f655fe522
commit
a19c008a7f
|
@ -23,9 +23,9 @@
|
|||
#include "../../core/windows/SDL_windows.h"
|
||||
#include "../SDL_syslocale.h"
|
||||
|
||||
typedef BOOL (WINAPI *pfnGetUserPreferredUILanguages)(DWORD,PULONG,/*PZZWSTR*/WCHAR*,PULONG);
|
||||
typedef BOOL (WINAPI *pfnGetUserPreferredUILanguages)(DWORD,PULONG,WCHAR*,PULONG);
|
||||
#ifndef MUI_LANGUAGE_NAME
|
||||
#define MUI_LANGUAGE_NAME 0x8
|
||||
#define MUI_LANGUAGE_NAME 0x8
|
||||
#endif
|
||||
|
||||
static pfnGetUserPreferredUILanguages pGetUserPreferredUILanguages = NULL;
|
||||
|
@ -39,11 +39,11 @@ SDL_SYS_GetPreferredLocales_winxp(char *buf, size_t buflen)
|
|||
char lang[16];
|
||||
char country[16];
|
||||
|
||||
const int langrc = GetLocaleInfoA(LOCALE_USER_DEFAULT,
|
||||
const int langrc = GetLocaleInfoA(LOCALE_USER_DEFAULT,
|
||||
LOCALE_SISO639LANGNAME,
|
||||
lang, sizeof (lang));
|
||||
|
||||
const int ctryrc = GetLocaleInfoA(LOCALE_USER_DEFAULT,
|
||||
const int ctryrc = GetLocaleInfoA(LOCALE_USER_DEFAULT,
|
||||
LOCALE_SISO3166CTRYNAME,
|
||||
country, sizeof (country));
|
||||
|
||||
|
@ -100,7 +100,7 @@ void
|
|||
SDL_SYS_GetPreferredLocales(char *buf, size_t buflen)
|
||||
{
|
||||
if (!kernel32) {
|
||||
kernel32 = LoadLibraryW(L"kernel32.dll");
|
||||
kernel32 = GetModuleHandleW(L"kernel32.dll");
|
||||
if (kernel32) {
|
||||
pGetUserPreferredUILanguages = (pfnGetUserPreferredUILanguages) GetProcAddress(kernel32, "GetUserPreferredUILanguages");
|
||||
}
|
||||
|
|
|
@ -163,7 +163,7 @@ SDL_SYS_SetupThread(const char *name)
|
|||
static HMODULE kernel32 = 0;
|
||||
|
||||
if (!kernel32) {
|
||||
kernel32 = LoadLibraryW(L"kernel32.dll");
|
||||
kernel32 = GetModuleHandleW(L"kernel32.dll");
|
||||
if (kernel32) {
|
||||
pSetThreadDescription = (pfnSetThreadDescription) GetProcAddress(kernel32, "SetThreadDescription");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue