Signed-off-by: dank@kegel.com Fix for http://bugs.winehq.org/show_bug.cgi?id=4125 This lets the color picker respond properly to keystrokes This fix was made with only the most superficial understanding of the code, but it seems reasonable. Index: dlls/commdlg/colordlg.c =================================================================== RCS file: /home/wine/wine/dlls/commdlg/colordlg.c,v retrieving revision 1.54 diff -d -u -r1.54 colordlg.c --- dlls/commdlg/colordlg.c 12 Nov 2005 19:12:25 -0000 1.54 +++ dlls/commdlg/colordlg.c 23 Dec 2005 23:48:35 -0000 @@ -671,7 +671,7 @@ { char buffer[10]; LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER); - lpp->updating = TRUE; + if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6) )) /* if full size */ { lpp->updating = TRUE; @@ -938,7 +938,7 @@ COLORREF *cr; LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER); TRACE("CC_WMCommand wParam=%x lParam=%lx\n", wParam, lParam); - switch (wParam) + switch (LOWORD(wParam)) { case 0x2c2: /* edit notify RGB */ case 0x2c3: @@ -950,7 +950,7 @@ g = GetGValue(lpp->lpcc->rgbResult); b= GetBValue(lpp->lpcc->rgbResult); xx = 0; - switch (wParam) + switch (LOWORD(wParam)) { case 0x2c2: if ((xx = (i != r))) r = i; break; case 0x2c3: if ((xx = (i != g))) g = i; break; @@ -975,9 +975,9 @@ case 0x2c1: if (notifyCode == EN_UPDATE && !lpp->updating) { - i = CC_CheckDigitsInEdit(hwndCtl , wParam == 0x2bf ? 239:240); + i = CC_CheckDigitsInEdit(hwndCtl , LOWORD(wParam) == 0x2bf ? 239:240); xx = 0; - switch (wParam) + switch (LOWORD(wParam)) { case 0x2bf: if ((xx = ( i != lpp->h))) lpp->h = i; break; case 0x2c0: if ((xx = ( i != lpp->s))) lpp->s = i; break;