https://bugs.winehq.org/show_bug.cgi?id=57973
Bug ID: 57973 Summary: LBS_NOSEL is not correctly supported Product: Wine Version: 10.3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: comctl32 Assignee: wine-bugs@winehq.org Reporter: kyle.kcsoftwares@gmail.com Distribution: ---
As spotted in ReactOS, there is a flaw in LBS_NOSEL implementation This is due to the is_item_selected function in dlls/comctl32/listbox.c not returning "FALSE" when LBS_NOSEL is used as style.
Fix is proposed from - this ReactOS PR : https://github.com/reactos/reactos/pull/7793 - this patch : https://jira.reactos.org/secure/attachment/69906/ListBox.patch
https://bugs.winehq.org/show_bug.cgi?id=57973
KRosUser kyle.kcsoftwares@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://github.com/reactos/ | |reactos/pull/7793 Distribution|--- |Ubuntu
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- I don't follow. What is the problem with this style, do you have a small test? Changing this helper will break things. For example LB_GETSEL won't work correctly.
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #2 from KRosUser kyle.kcsoftwares@gmail.com --- Why would LB_GETSEL not work correctly ? It's then expected in inconditionnally return false if LBS_NOSEL is set, isn't it ?
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- It's not. Still a test program will help.
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #4 from KRosUser kyle.kcsoftwares@gmail.com --- Question raised in https://jira.reactos.org/browse/CORE-19814 as I don't know how to produce a test app for this
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #5 from KRosUser kyle.kcsoftwares@gmail.com --- Created attachment 78263 --> https://bugs.winehq.org/attachment.cgi?id=78263 LBS_NOSEL in Wine 10.3
Screenshot
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #6 from KRosUser kyle.kcsoftwares@gmail.com --- Created attachment 78264 --> https://bugs.winehq.org/attachment.cgi?id=78264 Sample app NSI script
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #7 from KRosUser kyle.kcsoftwares@gmail.com --- Created attachment 78265 --> https://bugs.winehq.org/attachment.cgi?id=78265 Sample app NSI installer
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #8 from KRosUser kyle.kcsoftwares@gmail.com --- Screenshot, sample script and sample app added. New solution proposed following your comments : https://jira.reactos.org/secure/attachment/69914/69914_Listbox2.patch
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #9 from KRosUser kyle.kcsoftwares@gmail.com --- Merged into ReactOS with succesful fix and no known regression: https://github.com/reactos/reactos/commit/ffa81857c21612a609e7ac47e38197bfd9...
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #10 from Nikolay Sivov bunglehead@gmail.com --- (In reply to KRosUser from comment #9)
Merged into ReactOS with succesful fix and no known regression: https://github.com/reactos/reactos/commit/ ffa81857c21612a609e7ac47e38197bfd9589a6b
Just the test case and steps to reproduce is enough, we are not going to merge fixes back, but your reports are very much appreciated.
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #11 from KRosUser kyle.kcsoftwares@gmail.com --- Independant test case (.nsi script and associated generated installer) are now attached to this ticket for Wine standalone testing
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #12 from Nikolay Sivov bunglehead@gmail.com --- Could you explain what this test program is supposed to demonstrate? I see no visual differences comparing to Windows.
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #13 from KRosUser kyle.kcsoftwares@gmail.com --- If you look at the "LBS_NOSEL in Wine 10.3" screenshot, it shows the "incorrect" rendering when you scroll down the list (eg: click on an item then press the DOWN key of the keyboard). In Windows (or after applying the proposed patch) the selection moved but nothing is incorrectly drawn in blue.
https://bugs.winehq.org/show_bug.cgi?id=57973
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #14 from Nikolay Sivov bunglehead@gmail.com --- Thank you, I see what you mean now.
https://bugs.winehq.org/show_bug.cgi?id=57973
--- Comment #15 from Nikolay Sivov bunglehead@gmail.com --- Submitted https://gitlab.winehq.org/wine/wine/-/merge_requests/7648. The issue is only about painting it correctly I think.
https://bugs.winehq.org/show_bug.cgi?id=57973
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|LBS_NOSEL is not correctly |Listbox selected items are |supported |rendered even with | |LBS_NOSEL
https://bugs.winehq.org/show_bug.cgi?id=57973
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |3bc436d7e1f1d6882ccd9931b0d | |2b2e6531ae3f8 Resolution|--- |FIXED
--- Comment #16 from Nikolay Sivov bunglehead@gmail.com --- Marking fixed 3bc436d7e1f1d6882ccd9931b0d2b2e6531ae3f8.