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