minor bugfixes
Modified: trunk/reactos/lib/aclui/checklist.c

Modified: trunk/reactos/lib/aclui/checklist.c
--- trunk/reactos/lib/aclui/checklist.c	2005-07-03 23:29:36 UTC (rev 16402)
+++ trunk/reactos/lib/aclui/checklist.c	2005-07-04 00:06:52 UTC (rev 16403)
@@ -1592,6 +1592,13 @@
                     {
                         ChangeFocus = TRUE;
                     }
+                    
+                    if (ChangeFocus && GetCapture() == NULL &&
+                        (uMsg == WM_LBUTTONDOWN || uMsg == WM_LBUTTONDBLCLK))
+                    {
+                        infoPtr->FocusedPushed = TRUE;
+                        Capture = TRUE;
+                    }
                 }
                 else
                 {
@@ -1600,14 +1607,6 @@
                 
                 if (ChangeFocus)
                 {
-                    if (uMsg == WM_LBUTTONDOWN &&
-                        InCheckBox && GetCapture() != hwnd)
-                    {
-                        infoPtr->FocusedPushed = TRUE;
-
-                        Capture = TRUE;
-                    }
-                    
                     ChangeCheckItemFocus(infoPtr,
                                          NewFocus,
                                          NewFocusBox);
@@ -1637,6 +1636,9 @@
                     BOOL InCheckBox;
                     POINT pt;
                     
+                    pt.x = (LONG)LOWORD(lParam);
+                    pt.y = (LONG)HIWORD(lParam);
+                    
                     infoPtr->FocusedPushed = FALSE;
 
                     PtItem = PtToCheckItemBox(infoPtr,
@@ -1644,7 +1646,7 @@
                                               &PtItemBox,
                                               &InCheckBox);
 
-                    if (InCheckBox && PtItem == infoPtr->FocusedCheckItem &&
+                    if (PtItem == infoPtr->FocusedCheckItem && InCheckBox &&
                         PtItemBox == infoPtr->FocusedCheckItemBox)
                     {
                         ChangeCheckBox(infoPtr,
@@ -1938,7 +1940,7 @@
     
     ZeroMemory(&wc, sizeof(WNDCLASS));
     
-    wc.style = 0;
+    wc.style = CS_DBLCLKS;
     wc.lpfnWndProc = CheckListWndProc;
     wc.cbClsExtra = 0;
     wc.cbWndExtra = sizeof(PCHECKLISTWND);