I think what's missing is an audio client Reset(). We currently do Stop+Reset when the clock is stopped, and just Stop when the clock is paused. We don't Reset on pause so we don't lose pending data. But when we restart from at a different timestamp I think we should.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7833#note_101438
On Thu Apr 17 21:23:59 2025 +0000, Brendan McGrath wrote:
> I couldn't get this to build unfortunately. But if you can seek in this
> program, then you should be able to recreate the issue with pause, seek
> and then play.
You can seek with it, but it's not implemented on our side yet.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7833#note_101437
Adapted from [check_invalid_gs](https://gitlab.winehq.org/wine/wine/-/blob/d7a7cae2e2d1ad… in signal_i386.c. This prevents crashing when the %gs register is manipulated, such as in 32-bit code on "new-style" WoW64.
"Exertus: Darkness Approaches" is a 32-bit game that triggers this crash (on WoW64), which can be downloaded from the Bugzilla page's attachments. For another example, [test.c](https://bugs.winehq.org/attachment.cgi?id=77444) can reproduce it, courtesy of Fabian Maurer from the Bugzilla comments. This will crash whether it's compiled as 32-bit or 64-bit, while it works fine on Windows.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57444
Also, excuse me if submitting this is against some sort of code-freeze etiquette, it wasn't my intention try to have it merged immediately.
--
v8: ntdll/tests: Re-enable a previously crashing test.
ntdll: Check for invalid gs_base in the 64-bit segv_handler.
ntdll/tests: Add an exception test for accessing a modified %gs on x86_64.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7064
On Fri Apr 18 17:25:10 2025 +0000, eric pouech wrote:
> also note that for the first word of command line, when using tab,
> native cmd.exe filters on directories and files that can be executed
> (likely using PATHEXT list of extensions, didn't test that though)
> i'd suggest handling in two seperate patches the rd/md part, and the
> first parameter one...
> that should boil down to adding filters to the files gotten out of find
> files (directories and/or extensions) depending on context
Will definitely handle .exe, etc. filtering as a subsequent patch.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7843#note_101422
--
v6: amstream: Implement dynamic formats in ddraw stream.
amstream/tests: Test for dynamic formats in ddraw stream.
amstream: Implement custom allocator for ddraw stream.
amstream/tests: Test for custom allocator in ddraw stream.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7715
--
v5: mshtml: Validate builtin host functions in IE9+ using prototype_id rather
mshtml: Store the prototype_id of the last member that contains the needed
mshtml: Define "create" from XMLHttpRequest constructor as a jscript prop
mshtml: Consolidate the functional constructors into a common struct
mshtml: Rename struct constructor to stub_constructor.
mshtml: Use get_constructor in window's get_XMLHttpRequest.
mshtml: Move Option constructor to the window rather than the prototype.
mshtml: Move Image constructor to the window rather than the prototype.
mshtml: Don't expose "create" from Option constructor in IE9+ modes.
mshtml: Don't expose "create" from Image constructor in IE9+ modes.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7779
Over the past several weeks I've been working on and off on this. I didn't track the hours but I'm sure that I've spent 80+ hours on the feature. I've tested and retested all known scenarios and it seems to be working as expected.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7843