Module: wine Branch: master Commit: b63c1cb219bf1fd3a62c39799a0f248eaa4a979f URL: http://source.winehq.org/git/wine.git/?a=commit;h=b63c1cb219bf1fd3a62c39799a...
Author: Owen Rudge orudge@codeweavers.com Date: Fri Oct 2 16:13:26 2009 +0100
comctl32: Capture the mouse when performing a listview marquee selection.
---
dlls/comctl32/listview.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index eb2dbfb..e1e51e7 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -3731,7 +3731,10 @@ static LRESULT LISTVIEW_MouseMove(LISTVIEW_INFO *infoPtr, WORD fwKeys, INT x, IN /* If we're allowing multiple selections, send notification. If return value is non-zero, cancel. */ if (!(infoPtr->dwStyle & LVS_SINGLESEL) && (notify_hdr(infoPtr, LVN_MARQUEEBEGIN, &hdr) == 0)) + { infoPtr->bMarqueeSelect = TRUE; + SetCapture(infoPtr->hwndSelf); + } } else { @@ -9533,9 +9536,12 @@ static LRESULT LISTVIEW_LButtonUp(LISTVIEW_INFO *infoPtr, WORD wKey, INT x, INT
if (infoPtr->bDragging || infoPtr->bMarqueeSelect) { - /* Remove the marquee rectangle */ + /* Remove the marquee rectangle and release our mouse capture */ if (infoPtr->bMarqueeSelect) + { LISTVIEW_InvalidateRect(infoPtr, &infoPtr->marqueeRect); + ReleaseCapture(); + }
SetRect(&infoPtr->marqueeRect, 0, 0, 0, 0);