From 5631d063f4d7cac5a982ccb85c98119f02b26bb0 Mon Sep 17 00:00:00 2001 From: Dimi Paun Date: Thu, 19 May 2005 14:21:55 +0000 Subject: [PATCH] Do not compute the hit test if we don't really need it. --- dlls/comctl32/listview.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index 02a7a0a0ea9..930aed3068a 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -3186,27 +3186,22 @@ static LRESULT LISTVIEW_MouseHover(LISTVIEW_INFO *infoPtr, WORD fwKyes, INT x, I static LRESULT LISTVIEW_MouseMove(LISTVIEW_INFO *infoPtr, WORD fwKeys, INT x, INT y) { TRACKMOUSEEVENT trackinfo; - LVHITTESTINFO lvHitTestInfo; - INT nItem; - if (infoPtr->bLButtonDown) + if (infoPtr->bLButtonDown && DragDetect(infoPtr->hwndSelf, infoPtr->ptClickPos)) { + LVHITTESTINFO lvHitTestInfo; + NMLISTVIEW nmlv; + lvHitTestInfo.pt = infoPtr->ptClickPos; - nItem = LISTVIEW_HitTest(infoPtr, &lvHitTestInfo, TRUE, TRUE); + LISTVIEW_HitTest(infoPtr, &lvHitTestInfo, TRUE, TRUE); - if (DragDetect(infoPtr->hwndSelf, infoPtr->ptClickPos)) - { - NMLISTVIEW nmlv; + ZeroMemory(&nmlv, sizeof(nmlv)); + nmlv.iItem = lvHitTestInfo.iItem; + nmlv.ptAction = infoPtr->ptClickPos; - ZeroMemory(&nmlv, sizeof(nmlv)); - nmlv.iItem = nItem; - nmlv.ptAction.x = infoPtr->ptClickPos.x; - nmlv.ptAction.y = infoPtr->ptClickPos.y; + notify_listview(infoPtr, LVN_BEGINDRAG, &nmlv); - notify_listview(infoPtr, LVN_BEGINDRAG, &nmlv); - - return 0; - } + return 0; } /* see if we are supposed to be tracking mouse hovering */