From 28d5410596456d8307dfee699c7be7e73eaf5689 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Fri, 11 Dec 2009 21:11:48 +0300 Subject: [PATCH] comctl32/treeview: Fix mouse tracking request code. After query current tracking state passed parameters could be overwritten, similar fix for Listview was recently committed. --- dlls/comctl32/treeview.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c index 30699c5e952..ec1fdbea963 100644 --- a/dlls/comctl32/treeview.c +++ b/dlls/comctl32/treeview.c @@ -5280,7 +5280,6 @@ TREEVIEW_MouseMove (TREEVIEW_INFO * infoPtr, LPARAM lParam) trackinfo.cbSize = sizeof(TRACKMOUSEEVENT); trackinfo.dwFlags = TME_QUERY; trackinfo.hwndTrack = infoPtr->hwnd; - trackinfo.dwHoverTime = HOVER_DEFAULT; /* call _TrackMouseEvent to see if we are currently tracking for this hwnd */ _TrackMouseEvent(&trackinfo); @@ -5289,6 +5288,9 @@ TREEVIEW_MouseMove (TREEVIEW_INFO * infoPtr, LPARAM lParam) if(!(trackinfo.dwFlags & TME_LEAVE)) { trackinfo.dwFlags = TME_LEAVE; /* notify upon leaving */ + trackinfo.hwndTrack = infoPtr->hwnd; + /* do it as fast as possible, minimal systimer latency will be used */ + trackinfo.dwHoverTime = 1; /* call TRACKMOUSEEVENT so we receive a WM_MOUSELEAVE message */ /* and can properly deactivate the hot item */