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