[0.4.14][PROGMAN][CRT][USER32] Do not use LoadLibraryEx() NT6+ flags (#3152) CORE-12004

This fixes some blurry icons in systray when 2k3sp2 kernel32.dll is used in ros CORE-12004
That part in user32 was a regression of SVN r71609 == git a44dfe6c76
While we are at it we do fix some other modules as well, that used those NT6+flags.

The fix was picked from 0.4.15-dev-788-g a04831677e
This commit is contained in:
Joachim Henze 2021-07-02 19:15:10 +02:00
parent 36d70aca10
commit 33f4311f6c
3 changed files with 4 additions and 4 deletions

View file

@ -586,7 +586,7 @@ DIALOG_SYMBOL_DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
SetDlgItemTextW(hDlg, PM_ICON_FILE, pIconContext->szName);
SendMessageA(pIconContext->hDlgCtrl, LB_SETITEMHEIGHT, 0, 32);
pIconContext->hLibrary = LoadLibraryExW(pIconContext->szName, NULL, LOAD_LIBRARY_AS_IMAGE_RESOURCE | LOAD_LIBRARY_AS_DATAFILE);
pIconContext->hLibrary = LoadLibraryExW(pIconContext->szName, NULL, /* NT6+: LOAD_LIBRARY_AS_IMAGE_RESOURCE | */ LOAD_LIBRARY_AS_DATAFILE);
if (pIconContext->hLibrary)
{
EnumResourceNamesW(pIconContext->hLibrary,
@ -635,7 +635,7 @@ DIALOG_SYMBOL_DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
SetDlgItemTextW(hDlg, PM_ICON_FILE, filename);
DestroyIconList(pIconContext->hDlgCtrl);
pIconContext->hLibrary = LoadLibraryExW(filename, NULL, LOAD_LIBRARY_AS_IMAGE_RESOURCE | LOAD_LIBRARY_AS_DATAFILE);
pIconContext->hLibrary = LoadLibraryExW(filename, NULL, /* NT6+: LOAD_LIBRARY_AS_IMAGE_RESOURCE | */ LOAD_LIBRARY_AS_DATAFILE);
if (pIconContext->hLibrary)
{
EnumResourceNamesW(pIconContext->hLibrary,

View file

@ -113,7 +113,7 @@ HMODULE _CrtGetUser32()
{
if (_CrtUser32Handle == NULL)
{
HMODULE mod = LoadLibraryExW(L"user32.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
HMODULE mod = LoadLibraryExW(L"user32.dll", NULL, 0 /* NT6+: LOAD_LIBRARY_SEARCH_SYSTEM32 */);
if (mod == NULL)
mod = (HMODULE)INVALID_HANDLE_VALUE;

View file

@ -1866,7 +1866,7 @@ CURSORICON_CopyImage(
ustrRsrc.Buffer, IS_INTRESOURCE(ustrRsrc.Buffer) ? L"" : ustrRsrc.Buffer);
/* Get the module handle or load the module */
hModule = LoadLibraryExW(ustrModule.Buffer, NULL, LOAD_LIBRARY_AS_IMAGE_RESOURCE | LOAD_LIBRARY_AS_DATAFILE);
hModule = LoadLibraryExW(ustrModule.Buffer, NULL, /* NT6+: LOAD_LIBRARY_AS_IMAGE_RESOURCE | */ LOAD_LIBRARY_AS_DATAFILE);
if (!hModule)
{
DWORD err = GetLastError();