Module: wine Branch: master Commit: 9b057494d082094162ac796cbc7f059d9b21e9ec URL: http://source.winehq.org/git/wine.git/?a=commit;h=9b057494d082094162ac796cbc...
Author: Lei Zhang thestig@google.com Date: Wed Oct 29 01:57:54 2008 -0700
comctl32: Get rid of DragDetect.
---
dlls/comctl32/listview.c | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index 55fb848..d218a5c 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -3326,16 +3326,20 @@ static LRESULT LISTVIEW_MouseMove(LISTVIEW_INFO *infoPtr, WORD fwKeys, INT x, IN
if (infoPtr->bLButtonDown) { - MSG msg; - BOOL skip = FALSE; - /* Check to see if we got a WM_LBUTTONUP, and skip the DragDetect. - * Otherwise, DragDetect will eat it. - */ - if (PeekMessageW(&msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_NOREMOVE)) - if (msg.message == WM_LBUTTONUP) - skip = TRUE; + POINT tmp; + RECT rect; + WORD wDragWidth = GetSystemMetrics(SM_CXDRAG); + WORD wDragHeight= GetSystemMetrics(SM_CYDRAG); + + rect.left = infoPtr->ptClickPos.x - wDragWidth; + rect.right = infoPtr->ptClickPos.x + wDragWidth; + rect.top = infoPtr->ptClickPos.y - wDragHeight; + rect.bottom = infoPtr->ptClickPos.y + wDragHeight; + + tmp.x = x; + tmp.y = y;
- if (!skip && DragDetect(infoPtr->hwndSelf, infoPtr->ptClickPos)) + if (!PtInRect(&rect, tmp)) { LVHITTESTINFO lvHitTestInfo; NMLISTVIEW nmlv;