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

Nikolay Sivov nsivov at codeweavers.com
Tue Mar 5 05:04:34 CST 2019


On 3/5/19 2:03 PM, Gabriel Ivăncescu wrote:

> On 3/4/19 8:23 PM, Nikolay Sivov wrote:
>> 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.
>>
>>
>>
>
> Just to be clear, I shouldn't make this change later in the user32 
> code, right?
I don't know, depends on whether we can have a test for it.



More information about the wine-devel mailing list