[PATCH 1/4] comctl32/listview: Move LVN_ODSTATECHANGED notification to function.
Nikolay Sivov
nsivov at codeweavers.com
Mon Feb 21 23:58:33 CST 2022
On 2/22/22 03:22, Angelo Haller wrote:
> On 21/02/2022 11.35, Nikolay Sivov wrote:
>>
>>
>> On 2/21/22 19:11, Angelo Haller wrote:
>>> Thank you Nikolay.
>>>
>>> I have actually tried doing so via the `ok_sequence(sequences,
>>> PARENT_SEQ_INDEX,...` commands but
>>> sadly failed as quite a few of the existing tests are still marked
>>> as wine_todo. Especially a lot of code
>>> regarding select/focus/deselect which are code paths that potential
>>> tests for these patches
>>> would trigger as well.
>>>
>>> Is there a way of masking messages as "ignore" in `ok_sequence` that
>>> I missed? I would like to mask
>>> some WM_NOTIFY messages like LVN_ODCACHEHINT as this has not been
>>> implemented at all yet and
>>> LVN_GETDISPINFOA which gets called in a different order to windows.
>>>
>>> Or would a test marked as wine_todo suffice?
>>
>> We have "optional" flag for that, you can find it in existing message
>> tests. If that becomes too problematic there is always an option
>
> I saw the optional flag. I thought those were `4.7x specific` or
> specific to different windows versions?
> I was looking more for a `wine_todo` flag for individual messages,
> because LVN_ODCACHEHINT is not really `optional` but rather a
> `wine_todo`.
Optional is used for both cases - it's something we allow if it happens,
and ignore if it doesn't. There is no wine_todo for individual messages.
>
> Although such a flag would not solve the problem of LVN_ITEMCHANGED
> and LVN_GETDISPINFOA getting
> called in inverse order in windows and wine.
I'd simply mark LVN_GETDISPINFO as optional.
>
>> to introduce another sequence just for LVN_OD* tests, and filter
>> irrelevant notifications there, so they don't appear in test results
>> at all.
>>
> I'm finally grasping the workings of the different sequences.
> Easiest would of course be to introduce a new sequence entirely.
> Something like `PARENT_ODSTATECHANGED_SEQ_INDEX` that filters
> solely for WM_NOTIFY && LVN_ODSTATECHANGED. That is the only way I can
> think of to make the tests pass after applying these patches.
That would be a last resort solution, as you can see from existing
tests, we don't use a new sequence for each test.
>
> Maybe adding and testing for such a specific sequence would be
> acceptable when accompanied with a
> `PARENT_SEQ_INDEX` testing sequence that is still marked as wine todo?
Once we have a test that triggers LVN_ODSTATECHANGED, we'll figure out
how to make it pass.
>
>>>
>>>
>>> On 21/02/2022 04.11, Nikolay Sivov wrote:
>>>> Hi, Angelo.
>>>>
>>>> Thank you for patches. I'll have to ask you to add some tests
>>>> first, in comctl32/tests/listview.c, to verify all changes you're
>>>> making.
>>>>
>>>
>>
>>
>
>
More information about the wine-devel
mailing list