[0.4.14][COMCTL32] Listview: marqueeRect before starting highlight (#5555)

port back:
0.4.15-dev-6456-g 918a818071 [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. This can be best observed when our filebrowser is in details-mode.

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)

---------------

and port back also a few trivial RC improvements, mainly to keep binary size under control.

Binary size:
comctl32.dll master    RosBEWin2.2.2 GCC8.4.0dbg               1.999.872
comctl32.dll 0.4.14rls RosBEWin2.1.6 GCC4.7.2dbg  1.808.896 -> 1.808.896
comctl32.dll 0.4.13rls RosBEWin2.1.6 GCC4.7.2dbg  1.810.944 -> 1.805.312
comctl32.dll 0.4.12rls RosBEWin2.1.6 GCC4.7.2dbg  1.823.232 -> 1.818.112
comctl32.dll 0.4.11rls RosBEWin2.1.6 GCC4.7.2dbg  1.816.064 -> 1.810.944
comctl32.dll 0.4.10rls RosBEWin2.1.6 GCC4.7.2dbg  1.813.504 -> 1.808.384
comctl32.dll 0.4. 9rls RosBEWin2.1.6 GCC4.7.2dbg  1.813.504 -> 1.808.384
comctl32.dll 0.4. 8rls RosBEWin2.1.6 GCC4.7.2dbg  1.639.424 -> 1.634.304
comctl32.dll 0.4. 7rls RosBEWin2.1.6 GCC4.7.2dbg  1.634.304 -> 1.629.184
This commit is contained in:
Joachim Henze 2023-09-12 00:54:14 +02:00
parent b54a6fe33c
commit 63e2b48a71
2 changed files with 6 additions and 5 deletions

View file

@ -53,7 +53,7 @@ STRINGTABLE
IDD_PROPSHEET DIALOG 0, 0, 220, 140
STYLE DS_SHELLFONT | DS_CONTEXTHELP | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
CAPTION "%s Husûsiyetleri"
CAPTION "%s Özellikleri"
FONT 8, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "Tamam", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
@ -66,7 +66,7 @@ END
IDD_WIZARD DIALOG 0, 0, 290, 159
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
CAPTION "Yardımcı"
CAPTION "Sihirbaz"
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "< &Geri", IDC_BACK_BUTTON,56,138,55,14
@ -82,7 +82,7 @@ END
IDD_TBCUSTOMIZE DIALOG 10, 20, 395, 125
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Araç Çubuğunu Husûsileştir"
CAPTION "Araç Çubuğunu Özelleştir"
FONT 8, "MS Shell Dlg"
BEGIN
DEFPUSHBUTTON "Ka&pat", IDCANCEL,320,6,70,14
@ -90,10 +90,10 @@ BEGIN
PUSHBUTTON "&Yardım", IDC_HELP_BTN,320,40,70,14
PUSHBUTTON "Y&ukarı Taşı", IDC_MOVEUP_BTN,320,74,70,14
PUSHBUTTON "&Aşağı Taşı", IDC_MOVEDN_BTN,320,91,70,14
LTEXT "Ku&llanılabilir Düğmeler:", -1,4,5,120,10
LTEXT "Ku&llanılabilir Butonlar:", -1,4,5,120,10
LISTBOX IDC_AVAILBTN_LBOX,5,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
PUSHBUTTON "&Ekle ->", IDOK, 132, 42, 55, 14
PUSHBUTTON "<- &Kaldır", IDC_REMOVE_BTN,132,62,55,14
LTEXT "A&raç Çubuğu Düğmeleri:", -1,194,5,120,10
LTEXT "A&raç Çubuğu Butonları:", -1,194,5,120,10
LISTBOX IDC_TOOLBARBTN_LBOX, 194,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
END

View file

@ -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);
}
}