On Fri Jun 27 08:37:27 2025 +0000, Nikolay Sivov wrote:
> Do we need to check message sequences if they are going to remain todo
> after the fix?
I added that message sequence to show that the header is painted before WM_ERASEBKGND for the listview. Without the sequence, it might seem there are other possibilities. For example, the BeginPaint(listview) could be ahead of UpdateWindow(header), or maybe no WM_ERASEBKGND should be sent. Even if it remains a todo after the fix, I think it provides some insight about how it's supposed to work. So I would like to keep it if that's okay.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8447#note_108177
comctl32/listview: Test WM_PAINT with a subclassed header that paints without validating update regions.
--
v3: comctl32/listview: Validate header region after painting it.
comctl32/listview: Test WM_PAINT with a subclassed header that paints without validating update regions.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8447
This MR fixes seek in VRChat by copying the sequence of flushes/stop/starts that Windows does.
The order on Windows is:
1. Stop sources;
2. Flush MFTs;
3. Start sources;
4. Request output down the chain of sink inputs;
6. Flush sinks; and
7. Start the clock
This takes place whether we pause before we seek or seek without pause.
Changes in version 2:
1. Add test to see when SAR requests new samples;
2. Add test to examine when step 4 from above takes place;
3. Adjust the seek implementation in `mf/session.c` to match findings from the new tests;
4. Adjust `mfmediaengine` to reflect findings from the new tests;
5. Refactored `if` statement in `session_start` to be a `switch` again
--
v5: mfmediaengine: Request sample if we are seeking.
mfmediaengine: Don't perform implicit flush on state change.
mf: Don't send MFT_MESSAGE_NOTIFY_START_OF_STREAM when seeking.
mf: Restart transforms and sinks on seek.
mf/tests: Test sequence of calls during a Pause and Seek.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7932
Implementation PersistentZoneIdentifer object without any writing and reading zone information. OS Windows uses NTFS alternative data stream Zone.Identifer to write and read zone information. Also due to lack of reading zone information some test cases fails.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8459
Shutting down the media source, while it is still in an active topology, causes Windows' media session to fully shut down. To avoid this, only clear the old presentation on release, shutdown or when a new topology was successfully set.
(FWIW: This solution is definitely not the greatest)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8462