properly handle WM_UPDATEUISTATE
Modified: trunk/reactos/lib/aclui/checklist.c
_____
Modified: trunk/reactos/lib/aclui/checklist.c
--- trunk/reactos/lib/aclui/checklist.c 2005-07-04 13:21:14 UTC (rev
16408)
+++ trunk/reactos/lib/aclui/checklist.c 2005-07-04 13:37:02 UTC (rev
16409)
@@ -1865,30 +1865,20 @@
case WM_UPDATEUISTATE:
{
- BOOL OldFocusVisible = infoPtr->FocusVisible;
-
- switch(LOWORD(wParam))
+ if (HIWORD(wParam) & UISF_HIDEFOCUS)
{
- case UIS_CLEAR:
+ BOOL OldFocusVisible = infoPtr->FocusVisible;
+
+ infoPtr->FocusVisible = (LOWORD(wParam) == UIS_CLEAR);
+
+ if (infoPtr->FocusVisible != OldFocusVisible &&
+ infoPtr->FocusedCheckItem != NULL)
{
- infoPtr->FocusVisible = (HIWORD(wParam) &
UISF_HIDEFOCUS);
- break;
+ UpdateCheckItemBox(infoPtr,
+ infoPtr->FocusedCheckItem,
+ infoPtr->FocusedCheckItemBox);
}
- case UIS_SET:
- case UIS_INITIALIZE:
- {
- infoPtr->FocusVisible = !(HIWORD(wParam) &
UISF_HIDEFOCUS);
- break;
- }
}
-
- if (infoPtr->FocusVisible != OldFocusVisible &&
- infoPtr->FocusedCheckItem != NULL)
- {
- UpdateCheckItemBox(infoPtr,
- infoPtr->FocusedCheckItem,
- infoPtr->FocusedCheckItemBox);
- }
break;
}
Show replies by date