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