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))
                           {

Reply via email to