https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8bba3c43333679e828f400f8a2d1ee70db171aa9
commit 8bba3c43333679e828f400f8a2d1ee70db171aa9 Author: Katayama Hirofumi MZ <katayama.hirofumi...@gmail.com> AuthorDate: Sun Sep 8 16:59:28 2024 +0900 Commit: GitHub <nore...@github.com> CommitDate: Sun Sep 8 16:59:28 2024 +0900 [COMDLG32] ChooseColor: Apply DarkShadow44's suggestions (#6971) Co-authored-by: Fabian Maurer <dark.shad...@web.de> Based on @DarkShadow44's merge request to WineHQ. JIRA issue: CORE-19402 Merge Request: https://gitlab.winehq.org/wine/wine/-/merge_requests/5756 Proposed changes Extend CC_CheckDigitsInEdit's parameters and set infoPtr->updating to TRUE when updating. Call CC_PaintLumBar function in CC_WMCommand function. --- dll/win32/comdlg32/colordlg.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dll/win32/comdlg32/colordlg.c b/dll/win32/comdlg32/colordlg.c index 299c740e752..b64ee6ad138 100644 --- a/dll/win32/comdlg32/colordlg.c +++ b/dll/win32/comdlg32/colordlg.c @@ -396,7 +396,11 @@ static BOOL CC_MouseCheckResultWindow( HWND hDlg, LPARAM lParam ) /*********************************************************************** * CC_CheckDigitsInEdit [internal] */ +#ifdef __REACTOS__ +static int CC_CheckDigitsInEdit( CCPRIV *infoPtr, HWND hwnd, int maxval ) +#else static int CC_CheckDigitsInEdit( HWND hwnd, int maxval ) +#endif { int i, k, m, result, value; long editpos; @@ -430,7 +434,13 @@ static int CC_CheckDigitsInEdit( HWND hwnd, int maxval ) if (result) { editpos = SendMessageA(hwnd, EM_GETSEL, 0, 0); +#ifdef __REACTOS__ + infoPtr->updating = TRUE; +#endif SetWindowTextA(hwnd, buffer ); +#ifdef __REACTOS__ + infoPtr->updating = FALSE; +#endif SendMessageA(hwnd, EM_SETSEL, 0, editpos); } return value; @@ -984,7 +994,11 @@ static LRESULT CC_WMCommand(CCPRIV *lpp, WPARAM wParam, LPARAM lParam, WORD noti case IDC_COLOR_EDIT_B: if (notifyCode == EN_UPDATE && !lpp->updating) { +#ifdef __REACTOS__ + i = CC_CheckDigitsInEdit(lpp, hwndCtl, 255); +#else i = CC_CheckDigitsInEdit(hwndCtl, 255); +#endif r = GetRValue(lpp->lpcc->rgbResult); g = GetGValue(lpp->lpcc->rgbResult); b= GetBValue(lpp->lpcc->rgbResult); @@ -1005,6 +1019,9 @@ static LRESULT CC_WMCommand(CCPRIV *lpp, WPARAM wParam, LPARAM lParam, WORD noti CC_EditSetHSL(lpp); CC_PaintCross(lpp); CC_PaintTriangle(lpp); +#ifdef __REACTOS__ + CC_PaintLumBar(lpp); +#endif } } break; @@ -1014,7 +1031,11 @@ static LRESULT CC_WMCommand(CCPRIV *lpp, WPARAM wParam, LPARAM lParam, WORD noti case IDC_COLOR_EDIT_L: if (notifyCode == EN_UPDATE && !lpp->updating) { +#ifdef __REACTOS__ + i = CC_CheckDigitsInEdit(lpp, hwndCtl , LOWORD(wParam) == IDC_COLOR_EDIT_H ? 239 : 240); +#else i = CC_CheckDigitsInEdit(hwndCtl , LOWORD(wParam) == IDC_COLOR_EDIT_H ? 239 : 240); +#endif xx = 0; switch (LOWORD(wParam)) {