From 790e56a70d9ffd3c33e9369ee791a97ca17faa71 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Wed, 29 Oct 2008 01:57:54 -0700 Subject: [PATCH 1/3] 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; -- 1.5.2.2