https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e05f08be4e00d540487811...
commit e05f08be4e00d5404878117c83b95280a4c14612 Author: Giannis Adamopoulos gadamopoulos@reactos.org AuthorDate: Wed Feb 7 02:26:28 2018 +0200 Commit: Giannis Adamopoulos gadamopoulos@reactos.org CommitDate: Wed Feb 7 02:26:28 2018 +0200
[SYSSETUP] Hackfix CORE-14228 Wine's comctl32 somehow fails to load an 24bpp image with ImageList_LoadImageW when crMask is CLR_NONE so use a color that doesn't exist in the bitmaps until comctl32 gets fixed.
I prefer to add this silly hack in a non critical dll than make a hasty change in the critical comctl32 until some proper tests are written for this absurd failure. --- dll/win32/syssetup/wizard.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/dll/win32/syssetup/wizard.c b/dll/win32/syssetup/wizard.c index b61347f8ec..9ef4fd755b 100644 --- a/dll/win32/syssetup/wizard.c +++ b/dll/win32/syssetup/wizard.c @@ -1623,17 +1623,17 @@ ThemePageDlgProc(HWND hwndDlg, case WM_INITDIALOG: { BUTTON_IMAGELIST imldata = {0, {0,10,0,10}, BUTTON_IMAGELIST_ALIGN_TOP}; - + /* Save pointer to the global setup data */ SetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam; SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)SetupData); - - imldata.himl = ImageList_LoadImage(hDllInstance, MAKEINTRESOURCE(IDB_CLASSIC), 0, 0, CLR_NONE , IMAGE_BITMAP, LR_CREATEDIBSECTION); + + imldata.himl = ImageList_LoadImage(hDllInstance, MAKEINTRESOURCE(IDB_CLASSIC), 0, 0, 0x00FF00FF, IMAGE_BITMAP, LR_CREATEDIBSECTION); SendDlgItemMessage(hwndDlg, IDC_CLASSICSTYLE, BCM_SETIMAGELIST, 0, (LPARAM)&imldata);
- imldata.himl = ImageList_LoadImage(hDllInstance, MAKEINTRESOURCE(IDB_LAUTUS), 0, 0, CLR_NONE , IMAGE_BITMAP, LR_CREATEDIBSECTION); + imldata.himl = ImageList_LoadImage(hDllInstance, MAKEINTRESOURCE(IDB_LAUTUS), 0, 0, 0x00FF00FF , IMAGE_BITMAP, LR_CREATEDIBSECTION); SendDlgItemMessage(hwndDlg, IDC_THEMEDSTYLE, BCM_SETIMAGELIST, 0, (LPARAM)&imldata); - + SendDlgItemMessage(hwndDlg, IDC_CLASSICSTYLE, BM_SETCHECK, BST_CHECKED, 0); break; }