user32: If the listbox loses focus while holding capture, release it by essentially simulating a button up event.

Nikolay Sivov bunglehead at gmail.com
Thu Feb 20 06:27:41 CST 2014


On 2/20/2014 16:01, Huw Davies wrote:
> On Thu, Feb 20, 2014 at 03:46:26PM +0400, Nikolay Sivov wrote:
>> On 2/20/2014 15:35, Huw Davies wrote:
>>> ---
>>>   dlls/user32/listbox.c       |  1 +
>>>   dlls/user32/tests/listbox.c | 30 ++++++++++++++++++++++++++++++
>>>   2 files changed, 31 insertions(+)
>>>
>>>       case WM_KILLFOCUS:
>>> +        LISTBOX_HandleLButtonUp( descr ); /* Release capture if we have it */
>>>           descr->in_focus = FALSE;
>>>           descr->wheel_remain = 0;
>> This isn't totally correct. It's fine for when you press and hold
>> left button and then change focus with Tab for example,
>> LBN_SELCHANGE does indeed happen in this case. But when you just Tab
>> away from a list with no mouse commands you shouldn't send
>> LBN_SELCHANGE.
> Right, LBN_SELCHANGE should only get sent if we release the capture.
> Isn't that what this does?
Yes, I tested it, looks fine. Sorry for a noise.
>
> Huw.
>




More information about the wine-devel mailing list