Skip to content

Commit

Permalink
[COMCTL32] button: Don't erase the area of the checkbox or the text.
Browse files Browse the repository at this point in the history
Attempt to fix the menace of the world, CORE-13278.
Note that this can also cause visual glitches for classic check boxes or radio buttons.
  • Loading branch information
yagoulas committed Jan 10, 2019
1 parent d2626f0 commit 75a80ec
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions dll/win32/comctl32/button.c
Expand Up @@ -1550,7 +1550,9 @@ static void CB_Paint( const BUTTON_INFO *infoPtr, HDC hDC, UINT action )

/* Since WM_ERASEBKGND does nothing, first prepare background */
if (action == ODA_SELECT) FillRect( hDC, &rbox, hBrush );
#ifndef __REACTOS__
if (action == ODA_DRAWENTIRE) FillRect( hDC, &client, hBrush );
#endif

/* Draw label */
client = rtext;
Expand Down Expand Up @@ -1616,6 +1618,15 @@ static void CB_Paint( const BUTTON_INFO *infoPtr, HDC hDC, UINT action )
if (action == ODA_DRAWENTIRE)
BUTTON_DrawLabel(infoPtr, hDC, dtFlags, &rtext);

#ifdef __REACTOS__
if (action == ODA_DRAWENTIRE)
{
ExcludeClipRect(hDC, rbox.left, rbox.top, rbox.right, rbox.bottom);
ExcludeClipRect(hDC, rtext.left, rtext.top + 1, rtext.right, rtext.bottom - 1);
FillRect( hDC, &client, hBrush );
}
#endif

/* ... and focus */
if (action == ODA_FOCUS || (state & BST_FOCUS))
{
Expand Down

0 comments on commit 75a80ec

Please sign in to comment.