Don't increment module reference counts due to symbol resolving.

This commit is contained in:
Mike Pall
2011-11-27 11:45:55 +01:00
parent e3c7476533
commit 0a31c6373c
2 changed files with 6 additions and 4 deletions

View File

@@ -75,6 +75,7 @@ static const char *ll_bcsym(void *lib, const char *sym)
#ifndef GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 4
#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 2
BOOL WINAPI GetModuleHandleExA(DWORD, LPCSTR, HMODULE*);
#endif
@@ -132,7 +133,7 @@ static const char *ll_bcsym(void *lib, const char *sym)
} else {
HINSTANCE h = GetModuleHandleA(NULL);
const char *p = (const char *)GetProcAddress(h, sym);
if (p == NULL && GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
if (p == NULL && GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS|GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
(const char *)ll_bcsym, &h))
p = (const char *)GetProcAddress(h, sym);
return p;