http://bugs.winehq.org/show_bug.cgi?id=24514
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com 2010-09-25 16:49:53 CDT --- (In reply to comment #0)
In the test_hittest function for the listview test the following test fails for the Chinese and Japanese versions on the test bot:
/* subitem returned with -1 item too */ x = pos.x + 150; y = -10; test_lvm_subitemhittest(hwnd, x, y, -1, 1, LVHT_NOWHERE, FALSE, FALSE, FALSE);
The failures read:
listview.c:3056: Test failed: Expected -1 retval, got -2 listview.c:3056: Test failed: Expected -1 item, got -2 listview.c:3056: Test failed: Expected flags 0x1, got 0x4
This basically says that the message returned -2 (undocumented ?) and set the flags to LVHT_ONITEMLABEL.
Is y = -10 relative to the control client area or the parent window? How can you be on the item label in either case?
It's control area coordinate. Logically it can't be on label, but calculation code doesn't care, I imagine something like diving y coordinate by item height value.
Should the above values be added as successes to this test?
I don't think so. We need to make 'y' depend on item height (that depends on used font and styles).
P.S. I did some test with Control Spy - it's not an Asian system specific. You could see on it on any system I think. All you need is 'x' to be in subitem and small enough 'y' value. Let's say for (100, -200) in Control Spy example I get '-11' as a return value and same '-11' in a structure. So this is clearly undocumented behaviour, even documentation is broken.