comctl32/listview: fix mouse message sequences

Nikolay Sivov bunglehead at gmail.com
Sun Feb 24 03:24:58 CST 2013


On 2/24/2013 01:33, Daniel Jelinski wrote:
> @@ -10178,6 +10139,19 @@ static LRESULT LISTVIEW_LButtonDown(LISTVIEW_INFO *infoPtr, WORD wKey, INT x, IN
>   
>       if (infoPtr->dwLvExStyle & LVS_EX_ONECLICKACTIVATE)
>           if(lvHitTestInfo.iItem != -1) notify_itemactivate(infoPtr,&lvHitTestInfo);
> +    if (LISTVIEW_TrackMouse(infoPtr, pt))
> +    {
> +        NMLISTVIEW nmlv;
> +
> +        ZeroMemory(&nmlv, sizeof(nmlv));
> +        nmlv.iItem = lvHitTestInfo.iItem;
> +        nmlv.ptAction = infoPtr->ptClickPos;
> +
> +        notify_listview(infoPtr, LVN_BEGINDRAG, &nmlv);
> +        infoPtr->bDragging = TRUE;
> +    }
> +    else
> +        LISTVIEW_LButtonUp(infoPtr,0,x,y);
This doesn't look very clean. I mean invoking *up handler from a *down 
one. Is this something that could be resolved with message loop like 
rbutton dragging was fixed?



More information about the wine-devel mailing list