https://git.reactos.org/?p=reactos.git;a=commitdiff;h=918a8180718f0901e231b1...
commit 918a8180718f0901e231b12fe2274b82baa926b6 Author: Thamatip Chitpong thamatip.chitpong@reactos.org AuthorDate: Thu Aug 10 22:11:43 2023 +0700 Commit: GitHub noreply@github.com CommitDate: Thu Aug 10 17:11:43 2023 +0200
[WINESYNC][COMCTL32] Listview: Initialize marqueeRect from left-click coordinates before starting a marquee highlight (#5555)
The infoPtr->marqueeRect structure is not currently initialized before the marquee highlight sequence starts, resulting in the RECT having initial coordinates of (0,0)-(0,0). These coordinates cause the first item in the listview control to be identified as being within the range of the marqueeRect's coordinates.
That item is then set to LVIS_SELECTED even though it is not part of the marquee selection.
Wine commit: daf95aaadf3a59f0ccc129a853327417b5e4f07c
author: Hugh McMaster hugh.mcmaster@outlook.com Mon, 26 Apr 2021 10:59:51 +0000 (20:59 +1000) --- dll/win32/comctl32/listview.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dll/win32/comctl32/listview.c b/dll/win32/comctl32/listview.c index 2052b66e6a9..9d6609ffd71 100644 --- a/dll/win32/comctl32/listview.c +++ b/dll/win32/comctl32/listview.c @@ -4218,6 +4218,7 @@ static LRESULT LISTVIEW_MouseMove(LISTVIEW_INFO *infoPtr, WORD fwKeys, INT x, IN
/* Begin selection and capture mouse */ infoPtr->bMarqueeSelect = TRUE; + infoPtr->marqueeRect = rect; SetCapture(infoPtr->hwndSelf); } }