mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 07:02:56 +00:00
[0.4.9][PROGMAN][USER32][SHELL32] Do not use LoadLibraryEx() NT6+ flags (#3152) CORE-12004
LOAD_LIBRARY_AS_IMAGE_RESOURCE and LOAD_LIBRARY_SEARCH_SYSTEM32 are Vista+ 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 == gita44dfe6c76
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-ga04831677e
-------- That second part in SHELL32 regressed even earlier by SVN r51768 == git6ced137ce2
and was fixed on master by chance when the PickIconDlg() was overhauled entirely via git 0.4.10-dev-106-g222534a5a2
. But that is not the solution I ported back today.
This commit is contained in:
parent
af3e03aeef
commit
4532e1cd5e
3 changed files with 5 additions and 5 deletions
|
@ -586,7 +586,7 @@ DIALOG_SYMBOL_DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
SetDlgItemTextW(hDlg, PM_ICON_FILE, pIconContext->szName);
|
SetDlgItemTextW(hDlg, PM_ICON_FILE, pIconContext->szName);
|
||||||
SendMessageA(pIconContext->hDlgCtrl, LB_SETITEMHEIGHT, 0, 32);
|
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)
|
if (pIconContext->hLibrary)
|
||||||
{
|
{
|
||||||
EnumResourceNamesW(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);
|
SetDlgItemTextW(hDlg, PM_ICON_FILE, filename);
|
||||||
DestroyIconList(pIconContext->hDlgCtrl);
|
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)
|
if (pIconContext->hLibrary)
|
||||||
{
|
{
|
||||||
EnumResourceNamesW(pIconContext->hLibrary,
|
EnumResourceNamesW(pIconContext->hLibrary,
|
||||||
|
|
|
@ -170,7 +170,7 @@ INT_PTR CALLBACK PickIconProc(HWND hwndDlg,
|
||||||
|
|
||||||
DestroyIconList(pIconContext->hDlgCtrl);
|
DestroyIconList(pIconContext->hDlgCtrl);
|
||||||
|
|
||||||
hLibrary = LoadLibraryExW(szText, NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE);
|
hLibrary = LoadLibraryExW(szText, NULL, LOAD_LIBRARY_AS_DATAFILE);
|
||||||
if (hLibrary == NULL)
|
if (hLibrary == NULL)
|
||||||
break;
|
break;
|
||||||
FreeLibrary(pIconContext->hLibrary);
|
FreeLibrary(pIconContext->hLibrary);
|
||||||
|
@ -230,7 +230,7 @@ BOOL WINAPI PickIconDlg(
|
||||||
int res;
|
int res;
|
||||||
PICK_ICON_CONTEXT IconContext;
|
PICK_ICON_CONTEXT IconContext;
|
||||||
|
|
||||||
hLibrary = LoadLibraryExW(lpstrFile, NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE);
|
hLibrary = LoadLibraryExW(lpstrFile, NULL, LOAD_LIBRARY_AS_DATAFILE);
|
||||||
IconContext.hLibrary = hLibrary;
|
IconContext.hLibrary = hLibrary;
|
||||||
IconContext.Index = *lpdwIconIndex;
|
IconContext.Index = *lpdwIconIndex;
|
||||||
StringCchCopyNW(IconContext.szName, _countof(IconContext.szName), lpstrFile, nMaxFile);
|
StringCchCopyNW(IconContext.szName, _countof(IconContext.szName), lpstrFile, nMaxFile);
|
||||||
|
|
|
@ -1866,7 +1866,7 @@ CURSORICON_CopyImage(
|
||||||
ustrRsrc.Buffer, IS_INTRESOURCE(ustrRsrc.Buffer) ? L"" : ustrRsrc.Buffer);
|
ustrRsrc.Buffer, IS_INTRESOURCE(ustrRsrc.Buffer) ? L"" : ustrRsrc.Buffer);
|
||||||
|
|
||||||
/* Get the module handle or load the module */
|
/* 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)
|
if (!hModule)
|
||||||
{
|
{
|
||||||
DWORD err = GetLastError();
|
DWORD err = GetLastError();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue