[User32]
authorJames Tabor <james.tabor@reactos.org>
Tue, 20 Oct 2015 01:51:16 +0000 (01:51 +0000)
committerJames Tabor <james.tabor@reactos.org>
Tue, 20 Oct 2015 01:51:16 +0000 (01:51 +0000)
- Patch by Dmitry Timoshkov : Always call BeginPaint/EndPaint when handling a WM_PAINT message for the button.
- Patch by Alex Henrie : Remove always-false condition.

svn path=/trunk/; revision=69624

reactos/win32ss/user/user32/controls/button.c

index 939f58b..8b9a9f4 100644 (file)
@@ -356,16 +356,18 @@ LRESULT WINAPI ButtonWndProc_common(HWND hWnd, UINT uMsg,
 
     case WM_PRINTCLIENT:
     case WM_PAINT:
+    {
+        PAINTSTRUCT ps;
+        HDC hdc = wParam ? (HDC)wParam : BeginPaint( hWnd, &ps );
         if (btnPaintFunc[btn_type])
         {
-            PAINTSTRUCT ps;
-            HDC hdc = wParam ? (HDC)wParam : BeginPaint( hWnd, &ps );
             int nOldMode = SetBkMode( hdc, OPAQUE );
             (btnPaintFunc[btn_type])( hWnd, hdc, ODA_DRAWENTIRE );
             SetBkMode(hdc, nOldMode); /*  reset painting mode */
-            if( !wParam ) EndPaint( hWnd, &ps );
         }
+        if ( !wParam ) EndPaint( hWnd, &ps );
         break;
+    }
 
     case WM_KEYDOWN:
        if (wParam == VK_SPACE)
@@ -545,7 +547,6 @@ LRESULT WINAPI ButtonWndProc_common(HWND hWnd, UINT uMsg,
         break;
 
     case BM_SETSTYLE:
-        if ((wParam & BS_TYPEMASK) >= MAX_BTN_TYPE) break;
         btn_type = wParam & BS_TYPEMASK;
         style = (style & ~BS_TYPEMASK) | btn_type;
 #ifdef __REACTOS__