Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/comctl32/button.c | 2 +- dlls/comctl32/tests/button.c | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/dlls/comctl32/button.c b/dlls/comctl32/button.c index 85aa47f4bb..2f5a5b3f17 100644 --- a/dlls/comctl32/button.c +++ b/dlls/comctl32/button.c @@ -663,7 +663,7 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L if ((state & 3) != wParam) { set_button_state( hWnd, (state & ~3) | wParam ); - paint_button( hWnd, btn_type, ODA_SELECT ); + InvalidateRect( hWnd, NULL, FALSE ); } if ((btn_type == BS_AUTORADIOBUTTON) && (wParam == BST_CHECKED) && (style & WS_CHILD)) BUTTON_CheckAutoRadioButton( hWnd ); diff --git a/dlls/comctl32/tests/button.c b/dlls/comctl32/tests/button.c index 38446aab67..96b8bea531 100644 --- a/dlls/comctl32/tests/button.c +++ b/dlls/comctl32/tests/button.c @@ -440,8 +440,7 @@ static const struct message setcheck_radio_redraw_seq[] = { WM_STYLECHANGED, sent|wparam|defwinproc, GWL_STYLE }, { WM_APP, sent|wparam|lparam, 0, 0 }, { WM_PAINT, sent }, - { WM_NCPAINT, sent|optional }, /* FIXME: Wine sends it */ - { WM_ERASEBKGND, sent|defwinproc|optional }, + { WM_NCPAINT, sent|defwinproc|optional }, /* FIXME: Wine sends it */ { 0 } };
@@ -661,7 +660,9 @@ static void test_button_messages(void) SendMessageA(hwnd, BM_SETCHECK, BST_CHECKED, 0); SendMessageA(hwnd, WM_APP, 0, 0); /* place a separator mark here */ while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE)) DispatchMessageA(&msg); + ok_sequence(sequences, COMBINED_SEQ_INDEX, button[i].setcheck, "BM_SETCHECK on a button", FALSE);
+ state = SendMessageA(hwnd, BM_GETCHECK, 0, 0); if (button[i].style == BS_PUSHBUTTON || button[i].style == BS_DEFPUSHBUTTON || button[i].style == BS_GROUPBOX || @@ -672,16 +673,10 @@ static void test_button_messages(void) button[i].style == BS_COMMANDLINK || button[i].style == BS_DEFCOMMANDLINK) { - ok_sequence(sequences, COMBINED_SEQ_INDEX, button[i].setcheck, "BM_SETCHECK on a button", FALSE); - state = SendMessageA(hwnd, BM_GETCHECK, 0, 0); ok(state == BST_UNCHECKED, "expected check BST_UNCHECKED, got %04x\n", state); } else - { - ok_sequence(sequences, COMBINED_SEQ_INDEX, button[i].setcheck, "BM_SETCHECK on a button", TRUE); - state = SendMessageA(hwnd, BM_GETCHECK, 0, 0); ok(state == BST_CHECKED, "expected check BST_CHECKED, got %04x\n", state); - }
style = GetWindowLongA(hwnd, GWL_STYLE); style &= ~(WS_CHILD | BS_NOTIFY | WS_VISIBLE);