Add stubs for CrtImplementationDetails::Thow*ModuleLoadException functions
This will help some applications not crashing.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34537
Next part will be moving this code to msvcp and to make sure Cin, other related classes are implemented for msvcmxx.dlls
--
v4: msvcm80: Add stub for ThrowNestedLoadModuleException function.
msvcm80: Add stub for ThrowModuleLoadException(String, Exception) function.
msvcm80: Add stub for ThrowModuleLoadException(String) function.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4596
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v33: win32u: Add SNI driver for systray handling
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
On Mon Dec 4 11:24:24 2023 +0000, Giovanni Mascellani wrote:
> Currently we push the debug context when entering a section and pop it
> just before entering the following one. It would be enough to keep doing
> this for all except for the `[test]` section, and push and pull at each
> line inside a `[test]` section. Does this make sense for you?
Yep, and I have a working sketch locally. Pushing ...
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/499#note_54891
This series mainly:
- tests and implement fixes for GetStartupInfoW:
+ it should transform PEB's RTL_USER_PROCESS_PARAMETERS on the
fly (instead of caching the results as GetStartupInfoA)
+ it doesn't set all the fields of returned in STARTUPINFOW
(unlike GetStartupInfoA)
- no longer allow console and console handles for non CUI apps:
+ forbid inheritance of console handles for non CUI apps
+ don't create a unix console for initial (non CUI) app
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4573
Here's a list of usages of `base.outer_window` that may be impacted by the change and my analysis/fixes. Note that I specifically did not look for `document->outer_window` since that one was already holding it forever, so it's out of scope for this MR (whether it's correct or not, the behavior is the same after this MR).
I also didn't consider some cases that already **did not check** for it being NULL or not, because they would have crashed earlier before anyway (they'd still crash now if outer window gets killed, but it's out of scope of the MR as I said). For those that says "Handled" it means I've added checks so that the behavior is same as before, i.e. detached inner windows behave as if outer window is NULL.
* `htmldoc.c/HTMLDocument_get_mimeType`: Changed so it doesn't rely on outer window.
* `htmldoc.c/HTMLDocument7_get_defaultView`: This is actually fixed by these patches.
* `htmlform.c/HTMLFormElement_submit`: Handled.
* `htmlstorage.c/send_storage_event`: Fixed in a separate patch with tests, since it follows the outer window.
* `htmlwindow.c/check_target_origin`: This (along with many other methods) can't have it NULL anymore or detached, since the caller must hold a ref to the outer window, and they're not called from our objects holding ref to inner window only.
* `htmlwindow.c/HTMLWindowSP_QueryService`: This uses the outer window to obtain the browser and the doc obj, so it's fine.
* `mutation.c/set_document_mode`: Handled.
* `navigate.c/BindCallbackRedirect_Redirect`: Handled.
* `navigate.c/nsAsyncVerifyRedirectCallback_OnRedirectVerifyCallback`: Handled.
* `navigate.c/nsChannelBSC_init_bindinfo`: Uses the outer window to obtain the browser and doc obj to set a flag, so it's harmless and probably correct this way.
* `navigate.c/handle_navigation_error`: Handled.
* `navigate.c/handle_extern_mime_navigation`: Handled.
* `omnavigator.c/OmHistory_get_length`: This is actually fixed by these patches.
* `script.c/ActiveScriptSite_GetItemInfo`: Handled.
* `script.c/ActiveScriptSiteWindow_GetWindow`: Handled.
--
v7: mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml: Don't rely on the outer_window in document.mimeType.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4380
We often use "native" to talk about Windows "native" code, which is confusing here.
The unwrapping is also broken and always unwraps client handles to driver handles in the thunks, if they are wrapped. This currently forces every function that may be needing unwrapping to be handled in the drivers to unwrap the handles, which will be an issue if we intend to wrap VkSwapchainKHR in the drivers (which might be useful), and which requires to implement a lot of pass-through VkSurfaceKHR entry points.
--
v2: winevulkan: Remove unnecessary dispatch from make_vulkan.
winevulkan: Omit defaults in make_vulkan FUNCTION_OVERRIDES.
winewayland: Use "host" intead of "native" in vulkan wrappers.
winemac: Use "host" instead of "native" in vulkan wrappers.
winex11: Use "host" instead of "native" in vulkan wrappers.
winevulkan: Use "host" more consistently instead of "native".
https://gitlab.winehq.org/wine/wine/-/merge_requests/4572
Here's a list of usages of `base.outer_window` that may be impacted by the change and my analysis/fixes. Note that I specifically did not look for `document->outer_window` since that one was already holding it forever, so it's out of scope for this MR (whether it's correct or not, the behavior is the same after this MR).
I also didn't consider some cases that already **did not check** for it being NULL or not, because they would have crashed earlier before anyway (they'd still crash now if outer window gets killed, but it's out of scope of the MR as I said). For those that says "Handled" it means I've added checks so that the behavior is same as before, i.e. detached inner windows behave as if outer window is NULL.
* `htmldoc.c/HTMLDocument_get_mimeType`: Changed so it doesn't rely on outer window.
* `htmldoc.c/HTMLDocument7_get_defaultView`: This is actually fixed by these patches.
* `htmlform.c/HTMLFormElement_submit`: Handled.
* `htmlstorage.c/send_storage_event`: Fixed in a separate patch with tests, since it follows the outer window.
* `htmlwindow.c/check_target_origin`: This (along with many other methods) can't have it NULL anymore or detached, since the caller must hold a ref to the outer window, and they're not called from our objects holding ref to inner window only.
* `htmlwindow.c/HTMLWindowSP_QueryService`: This uses the outer window to obtain the browser and the doc obj, so it's fine.
* `mutation.c/set_document_mode`: Handled.
* `navigate.c/BindCallbackRedirect_Redirect`: Handled.
* `navigate.c/nsAsyncVerifyRedirectCallback_OnRedirectVerifyCallback`: Handled.
* `navigate.c/nsChannelBSC_init_bindinfo`: Uses the outer window to obtain the browser and doc obj to set a flag, so it's harmless and probably correct this way.
* `navigate.c/handle_navigation_error`: Handled.
* `navigate.c/handle_extern_mime_navigation`: Handled.
* `omnavigator.c/OmHistory_get_length`: This is actually fixed by these patches.
* `script.c/ActiveScriptSite_GetItemInfo`: Handled.
* `script.c/ActiveScriptSiteWindow_GetWindow`: Handled.
--
v6: mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Get rid of outer_window member in HTMLDocumentNode.
mshtml: Remove the inner window ref from the doc only when it is actually
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml/tests: Improve the iframe navigation test.
mshtml: Don't rely on the outer_window in document.mimeType.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4380
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v32: win32u: Add SNI driver for systray handling
win32u: Add a SystrayRunLoop driver interface
win32u: Refactor NotifyIcon driver interface into separate calls.
win32u: Add a ShowBalloon driver interface
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v31: win32u: add SNI driver for systray handling
win32u: add a SystrayRunLoop driver interface
win32u: Refactor NotifyIcon driver interface into separate calls.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
We often use "native" to talk about Windows "native" code, which is confusing here.
The unwrapping is also broken and always unwraps client handles to driver handles in the thunks, if they are wrapped. This currently forces every function that may be needing unwrapping to be handled in the drivers to unwrap the handles, which will be an issue if we intend to wrap VkSwapchainKHR in the drivers (which might be useful), and which requires to implement a lot of pass-through VkSurfaceKHR entry points.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4572
The offending font is NotoColorEmoji.ttf which is present in, e. g., google-noto-emoji-color-fonts or noto-fonts-emoji packages available in various distribution. Attempting to load this font on Windows 10 (with AddFontResourceA() or open it with default font viewer) fails while currently succeeds on Windows. fontforge also refuses to open this font. That is because the font is bitmap only but missing bitmap table.
Some apps (Glyph launcher is an example) try to GetOutlineTextMetrics() on this font and do not expect that to have an error return (as we currenly do), which leads to crash on unhandled division by zero exception.
I am attaching a bitmap-only ttf test font (with only one bitmap) which I created with fontforge to make sure that such font can still be loaded in Wine. This font also loads on Windows (both with AddFontResourceA() and with default font viewer).
There are other font types which can be legitimately missing EBDT table, but FT_Load_Sfnt_Table() returns a different error for those and my patch doesn't reject those fonts.
[test.ttf](/uploads/b41472180b80c2c53f9dcc06055990f0/test.ttf)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/411
On Sat Dec 2 18:00:47 2023 +0000, Petrichor Park wrote:
> (the change is to remove the `vkd3d_test_push_context` call on L1439,
> and then I'd need to remove the matching `vkd3d_test_pop_context` call
> that's somewhere)
Currently we push the debug context when entering a section and pop it just before entering the following one. It would be enough to keep doing this for all except for the `[test]` section, and push and pull at each line inside a `[test]` section. Does this make sense for you?
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/499#note_54833
*pszTmpFileName will be freed with free() but it's allocated with HeapAlloc().
--
v2: ntdll: Fix a memory leak (Coverity).
shell32: Fix a memory leak (Coverity).
wininet: Fix a use-after-free (Coverity).
tasklist: Fix a possible buffer overrun (Coverity).
https://gitlab.winehq.org/wine/wine/-/merge_requests/4590
While debugging League of Legends I noticed that `LoadLibraryEx()` is invoked with binary filename (non-text) and non-NULL `hFile`.
In Windows such call would return `NULL` with LastError set as `ERROR_INVALID_PARAMETER` but current Wine implementation would try to proceed ahead.
I don't know if this is intentional trick to mess up debugging/reversing tools or if we have some memory corruption before that overwrites filename buffer. But then I can't imagine how `hFile` could have gotten corrupted since shouldn't that be simple static value in register...
Having this MR causes very noticeable difference in LoL:
* without it - process deadlocks
* with it - no deadlock
Also while looking at this, I tried a lot of different flag combinations on Windows 10 and here I implemented so it works exactly like that.
I also implemented test case for non-NULL `hFile` but I didn't bother for other flags since I don't know if we even care about those.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4587
This fixes the layout of the tabcontrol when a font other than the
system font is used.
--
v6: comctl32/tests: Modify test_width to try different fonts
comctl32/tests: Check size initially and after changing padding only
comctl32/tests: Fix tabcontrol tests to work with different fonts
comctl32: Use selected font to determine default min tab width
comctl32: Fix TAB_SetItemSize
comctl32/tests: Add test for setitemsize return value
https://gitlab.winehq.org/wine/wine/-/merge_requests/4484
> I do test , if the program is free, but this one isn't, so cannot test.
In that case, you can simply attach the patch to the Wine-Bug report and ask the user to test it like I did here: https://bugs.winehq.org/show_bug.cgi?id=54623.
> I think it's just fine to add the stub so that user can test it in the next
release to see if it helps workaround the bug and report back.
I don't think this is fine as users often abandon bugs. Another user might file a bug report for another program that happens to call the stub. The stub can make it difficult to pinpoint the cause of a crash or issue, especially since Wine is rife with stubs. Of course, there are functions which are reasonably safe to stub.
However, in this case, it's obvious a stub does not help. Since the function is creating something, it's safe to assume the program might attempt to access the object. Returning failure like E_NOTIMPL is often no different than returning success like S_OK since a lot of programs don't bother to check for failure and assume functions always succeed.
> Apparently you have access to this program, and already knew the answer.
Please share this info in future in bugreport then.
I had access to the program when I was working on it. Well, if you read the info in the bug report you would know the bug started after adding in MediaControl. I sent multiple patches for Roon. I would have sent an MR for a simple stub if it helped.
Also, sharing the info in the bug report is apparently pointless. See the previous bug: https://bugs.winehq.org/show_bug.cgi?id=54623
The info was ignored and an MR created nonetheless: https://gitlab.winehq.org/wine/wine/-/merge_requests/4579
Lastly, I'm not paid to work on Wine. I have no obligation to share anything, especially since a lot of bug reporters are unappreciative and even hostile.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4555#note_54808
Goes atop !477. The last two commits belong to this MR.
--
v3: vkd3d-shader/dxil: Implement the DXIL STORE instruction.
vkd3d-shader/dxil: Implement the DXIL ALLOCA instruction.
tests/shader-runner: Test an uninitialised indexable temp.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/498
Goes atop !477. The last two commits belong to this MR.
--
v2: vkd3d-shader/dxil: Implement the DXIL STORE instruction.
vkd3d-shader/dxil: Implement the DXIL ALLOCA instruction.
tests/shader-runner: Test an uninitialised indexable temp.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/498
This fixes the layout of the tabcontrol when a font other than the
system font is used.
--
v5: comctl32/tests: Modify test_width to try different fonts
comctl32/tests: Check size initially and after changing padding only
comctl32/tests: Fix tabcontrol tests to work with different fonts
comctl32: Fix TAB_SetItemSize
comctl32: Use selected font to determine default min tab width
https://gitlab.winehq.org/wine/wine/-/merge_requests/4484
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v30: win32u: add SNI driver for systray handling
win32u: add a SystrayRunLoop driver interface
win32u: Refactor NotifyIcon driver interface into separate calls.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v29: win32u: add SNI driver for systray handling
win32u: add a SystrayRunLoop driver interface
win32u: Refactor NotifyIcon driver interface into separate calls.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
This fixes the layout of the tabcontrol when a font other than the
system font is used.
--
v4: comctl32: Modify test_width to try different fonts
comctl32: Fix tabcontrol tests to work with different fonts
comctl32: Use selected font to determine default min tab width
https://gitlab.winehq.org/wine/wine/-/merge_requests/4484
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v28: win32u: add SNI driver for systray handling
win32u: add a SystrayRunLoop driver interface
win32u: Refactor NotifyIcon driver interface into separate calls.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v27: win32u: add SNI driver for systray handling
win32u: add a SystrayRunLoop driver interface
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v26: win32u: add SNI driver for systray handling
win32u: add a SystrayRunLoop driver interface
win32u: Refactor NotifyIcon driver interface into separate calls.
win32u: add a ShowBalloon driver interface
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
This MR has a similar goal !3259, but the difference is that this MR aims to only isolate the XDG user dirs and nothing else. This is entirely possible to do through winecfg, but the problem with using winecfg is that you would have to manually run it on every new wineprefix, and therefore to automate this process without winecfg would require a manual removal of the symlinks. My solution was to create a simple on/off environment variable to disable or enable the creation of the symlinks.
--
v2: shell32: Add environment variable to prevent symlinking home folders.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4584
On Sun Dec 3 10:05:54 2023 +0000, Shmerl wrote:
> Ability to use whatever Wayland supports that X11 doesn't. Like proper
> HDR work and such.
I've noticed more overloading in Xwayland when playing oldrunescape, so I'm playing Wayland despite having no keyboard input.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4522#note_54780
>You should test applications to see if a stub actually helps before
sending in an MR.
I do test , if the program is free, but this one isn't, so cannot test.
I think it's just fine to add the stub so that user can test it in the next
release to see if it helps workaround the bug and report back.
Apparently you have access to this program, and already knew the answer.
Please share this info in future in bugreport then.
Op vr 1 dec 2023 om 03:15 schreef Mohamad Al-Jaf (@maljaf) <
gitlab(a)winehq.org>:
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4555#note_54778
On Sun Dec 3 09:48:00 2023 +0000, Snowiiii wrote:
> what are actually are all the advantages of using native wayland ?
Ability to use whatever Wayland supports that X11 doesn't. Like proper HDR work and such.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4522#note_54774
On Sun Dec 3 09:14:08 2023 +0000, Shmerl wrote:
> No particular difference in performance. But I can't compare input due
> to it being broken.
what are actually are all the advantages of using native wayland ?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4522#note_54773
On Sun Dec 3 09:10:50 2023 +0000, Shmerl wrote:
> Just sharing a test result (running Cyberpunk 2077 with winewayland
> using Wine+esync+vkd3d-proton).
> 
> Note: Mouse input is broken as expected. Adaptive sync / VRR works fine.
> DE: KDE Plasma 5.27.9.
can you compare native wayland vs Xwayland ?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4522#note_54771
Just sharing a test result (running Cyberpunk 2077 with winewayland using Wine+esync+vkd3d-proton).

Note: Mouse input is broken as expected.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4522#note_54769
On Sat Dec 2 17:59:48 2023 +0000, Petrichor Park wrote:
> Doing this would require changes to other test harness machinery;
> specifically it would stop printing any context if the shader fails to
> compile, or if there's some other problem.
> It would require a lot of changes to everything the harness could handle
> to provide better feedback in each case; I think that's kind of out of
> scope of this MR and probably out of scope for the harness in general.
(the change is to remove the `vkd3d_test_push_context` call on L1439, and then I'd need to remove the matching `vkd3d_test_pop_context` call that's somewhere)
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/499#note_54756
On Sat Dec 2 17:59:48 2023 +0000, Giovanni Mascellani wrote:
> Right now this prints both the line where the section starts and the
> line there the `probe` directive here. This feels a bit too much.
Doing this would require changes to other test harness machinery; specifically it would stop printing any context if the shader fails to compile, or if there's some other problem.
It would require a lot of changes to everything the harness could handle to provide better feedback in each case; I think that's kind of out of scope of this MR and probably out of scope for the harness in general.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/499#note_54755
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55075
Signed-off-by: Fabian Maurer <dark.shadow4(a)web.de>
--
v4: apisetschema: Add api-ms-win-core-com-l2-1-1
ole32: Move convert functions back from coml2
coml2: Remove temporary exports
ole32: Remove storage32.h
coml2: Move StgSetTimes from ole32
coml2: Move StgOpenStorageOnILockBytes from ole32
coml2: Move StgCreateDocfileOnILockBytes from ole32
coml2: Move StgOpenStorageEx from ole32
coml2: Move StgOpenStorage from ole32
coml2: Move storage interfaces from ole32
coml2: Move filelockbytes from ole32
coml2: Move IPropertyStorage implementation from ole32
ole32: Prepare for moving IPropertyStorage implementation
coml2: Move stream and block logic from ole32
coml2: Move stg_stream.c from ole32
coml2: Move IEnumSTATSTG from ole32
ole32: Refactor IEnumSTATSTGImpl_Construct to prepare for movement to coml2
coml2: Move StgCreatePropSetStg from ole32
coml2: Move StgIsStorageILockBytes from ole32
coml2: Move WriteClassStg from ole32
coml2: Move ReadClassStg from ole32
coml2: Move StgIsStorageFile from ole32
coml2: Move WriteClassStm from ole32
coml2: Move ReadClassStm from ole32
coml2: Move GetConvertStg from ole32
coml2: Add dll and move code from ole32/memlockbytes.c
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3106
If explicit_handle is defined in the *.idl file, c/s are uses explicit handles,
then an explicit handle must be passed in to the server-side interface
Add a test for explicit_handle.
v3.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4467
I have a shortcut to change input language - Shift+Alt_L, and it interprets this Shift like it's CAPS on.
Only pressing shift again reverts to lower-case.

--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4455#note_54743
This is the current proton thread priority implementation by @rbernon rebased for upstream with a few `#ifdef`s added since AFAIK Linux is the only operating system where threads have a unique PID which can be used to set niceness on.
I also ran `./tools/make_requests` on https://gitlab.winehq.org/mzent/wine/-/commit/6705d3481be0409f7e971c1d2c7a3… as well and `autoconf` on https://gitlab.winehq.org/mzent/wine/-/commit/d7bafe40c411753662b2ad97148a6… (which does blow up the line count a bit).
A few tiny changes (with the ready variable for example) are in anticipation for Part 2, which also adds Mach thread priorities and recalculates thread priorities on process priority change.
Since this is a rather large MR, I hope the split here is appropriate (with the second part being slightly smaller), but I think logically it makes the most sense here.
--
v9: server: Check wineserver privileges on init with -20 niceness.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4551
push_dc_driver() places drivers based on their priorities, so the newly created driver is not
necessary on top. Thus in windrv_CreateDC(), find_dc_driver() should be used to find the dib
driver instead of assuming the dib driver is the top driver, which could be the path driver because
it has a higher priority.
--
v3: win32u: Find the correct DIB driver in windrv_CreateDC().
https://gitlab.winehq.org/wine/wine/-/merge_requests/4374
Along with !4450, this fixes WMV videos in microkiri (https://bugs.winehq.org/show_bug.cgi?id=9127#c102) and Wagamama High Spec Trial Edition (https://wagahigh.com/download_trial.php#normal ; ダウンロード means download).
--
v8: wmvcore/tests: Add tests for compressed output.
winegstreamer: Implement compressed output support in WMSyncReader.
winegstreamer: Leave pts/duration unchanged if they're not set.
winegstreamer: Introduce mutex for wm_reader read_thread_shutdown and wg_parser.
winegstreamer: Move file size to struct wm_reader.
winegstreamer: Fill in a few more pieces of WMV format handling.
winegstreamer: Add codec_data to WMVs.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4449