[PATCH 7/8] comctl32/button: Don't draw the button when losing focus before invalidating it

Nikolay Sivov nsivov at codeweavers.com
Mon Mar 4 12:23:38 CST 2019


On 3/4/19 7:25 PM, Gabriel Ivăncescu wrote:

> @@ -772,7 +772,6 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L
>       case WM_KILLFOCUS:
>           TRACE("WM_KILLFOCUS %p\n",hWnd);
>           infoPtr->state &= ~BST_FOCUS;
> -        paint_button( infoPtr, btn_type, ODA_FOCUS );
>   
>           if ((infoPtr->state & BUTTON_BTNPRESSED) && GetCapture() == hWnd)
>               ReleaseCapture();

That looks like an artifact of user32 behavior when it often repaints 
directly without going through invalidation. If it's not how it works, 
it's obviously good to change.




More information about the wine-devel mailing list