Prepare background while drawing radio buttons and checkboxes.

diff --git a/controls/button.c b/controls/button.c
index 1983dd1..2fabeba 100644
--- a/controls/button.c
+++ b/controls/button.c
@@ -832,6 +832,10 @@
     /* Draw the check-box bitmap */
     if (action == ODA_DRAWENTIRE || action == ODA_SELECT)
     { 
+	/* Since WM_ERASEBKGND does nothing, first prepare background */
+	if (action == ODA_SELECT) FillRect( hDC, &rbox, hBrush );
+	else FillRect( hDC, &client, hBrush );
+
         if( TWEAK_WineLook == WIN31_LOOK )
         {
         HDC hMemDC = CreateCompatibleDC( hDC );
@@ -841,9 +845,6 @@
 	/* Check in case the client area is smaller than the checkbox bitmap */
 	if (delta < 0) delta = 0;
 
-        if (action == ODA_SELECT) FillRect( hDC, &rbox, hBrush );
-        else FillRect( hDC, &client, hBrush );
-
         if (infoPtr->state & BUTTON_HIGHLIGHTED) x += 2 * checkBoxWidth;
         if (infoPtr->state & (BUTTON_CHECKED | BUTTON_3STATE)) x += checkBoxWidth;
         if (((wndPtr->dwStyle & 0x0f) == BS_RADIOBUTTON) ||