From: Angelo Haller angelo@szanni.org
The following patches fix sending of the LVN_ODSTATECHANGED notification for LVS_OWNERDATA list views, adding more refined tests in the process and fixing various bugs.
This is v3 addressing most of the concerns that were raised in v2, especially adding even more tests.
I was sadly not able to trigger any deselect sequences through emulating mouse clicks. I was actually completely unable even send a lef mouse button down at all. Both SendMessage and SendInput fail, on wind and windows.
I am unsure if programmatic mouse clicks are even supported in list views? Some forums seem to suggest, that this is only the case for buttons and similar elements. I was following the code snippets in other parts of the comctl32 tests.
The other thing might be that the signal is getting caught somewhere in the test code. If anybody has any more insight in this regard, I'd be happy to add additional mouse click tests as well.
The other thing I was unable to do is activate the single select tests via SHIFT/+COMMAND to show we need patch 6/6. Windows weirdly informs about the selected item twice, once to inform the item has been selected and then in another call later about the item being focused as well. This seemingly only affects LVS_OWNERDATA listviews from my tests.
Warning: I have had access to the Windows Research Kernel (WRK) 1.2 ~10 years ago. These changes are regarding comctrl32 & tests which are NOT part of the WRK. As outlined in https://wiki.winehq.org/Developer_FAQ this should therefore satisfy the requirement of ONLY submitting patches to components I have NOT had access to.
Angelo Haller (6): comctl32/tests: Expand ownerdata listview tests. comctl32/listview: Fix deselect on LVS_OWNERDATA. comctl32/listview: Move sending LVN_ODSTATECHANGED notifications to a function. comctl32/listview: Send LVN_ODSTATECHANGED only for virtual lists. comctl32/listview: Send LVN_ODSTATECHANGED notification. comctl32/listview: Send LVN_ODSTATECHANGED only for true ranges.
dlls/comctl32/listview.c | 55 ++++--- dlls/comctl32/tests/listview.c | 253 +++++++++++++++++++++++++++++++-- 2 files changed, 281 insertions(+), 27 deletions(-)
Signed-off-by: Angelo Haller angelo@szanni.org