user32: If the listbox loses focus while holding capture, release it by essentially simulating a button up event.
Huw Davies
huw at codeweavers.com
Thu Feb 20 06:01:45 CST 2014
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?
Huw.
More information about the wine-devel
mailing list