MAX messenger crashes without getting a valid pointer to PersistentZoneIdentifier COM object. Adding a stubbed COM object solves the problem
--
v3: urlmon: Add PersistentZoneIdentifier COM object stubs
https://gitlab.winehq.org/wine/wine/-/merge_requests/8456
Fixes gdiplus tests in Clang build.
When the compiler assumes non-trapping floating-point math, it may apply more aggressive optimizations. For example, in the fast path of `GdipInvertMatrix`, it may merge paired divisions into a single `divss` instruction. This can leave unused lanes whose results are ignored, but they still execute and may cause a division by zero, breaking tests that have the FP exception mask enabled.
Using `-ffp-exception-behavior=maytrap` prevents the compiler from performing such transformations.
It's a bit surprising that this flag also disables optimizations like those seen in the dmime tests, so there’s likely room for improvement on the compiler side. Regardless, relying on `round()` in tests isn't valid, as it's not available in msvcrt.dll and may depend on compiler-specific behavior.
--
v2: configure: Build PEs with -ffp-exception-behavior=maytrap.
dmime/tests: Use ceil instead of round.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8474
Fixes gdiplus tests in Clang build.
When the compiler assumes non-trapping floating-point math, it may apply more aggressive optimizations. For example, in the fast path of `GdipInvertMatrix`, it may merge paired divisions into a single `divss` instruction. This can leave unused lanes whose results are ignored, but they still execute and may cause a division by zero, breaking tests that have the FP exception mask enabled.
Using `-ffp-exception-behavior=maytrap` prevents the compiler from performing such transformations.
It's a bit surprising that this flag also disables optimizations like those seen in the dmime tests, so there’s likely room for improvement on the compiler side. Regardless, relying on `round()` in tests isn't valid, as it's not available in msvcrt.dll and may depend on compiler-specific behavior.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8474
On Sun Jun 29 21:51:04 2025 +0000, Mike Kozelkov wrote:
> Sorry, I think I messed up this MR branch, so it can't be merged
> fast-forward-merged. I've created a !8456 merge request for the stubs.
> Also I've implemented a PersistentZoneIdentifier interfaces with test
> cases in !8459, but it's just a mimic the behavior of
> PersistentZoneIdentifier without any writing or reading information
> about the zone. Some test cases fail due to no reading zone information.
Let’s use new MRs for now, but in the future you may use a force push (e.g., `git push -f`).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8378#note_108482
MAX messenger crashes without getting a valid pointer to PersistentZoneIdentifier COM object. Adding a stubbed COM object solves the problem
--
v2: urlmon: Add PersistentZoneIdentifier COM object stubs
https://gitlab.winehq.org/wine/wine/-/merge_requests/8456
Some old applications crash if GL_EXTENSIONS string is longer than a certain limit. There are some vendor-specific environment variable to limit the returned extensions, but it is IMO less convenient to use than a per-application registry setting which can be set once on prefix configuration time.
We have a DisabledExtensions registry key already, this adds a similar EnabledExtensions key that filters the returned extensions to only include those listed in that key, effectively limiting the size of the extensions string.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25362
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58422
--
v2: opengl32: Add an EnabledExtensions registry option.
opengl32: Add a helper to read OpenGL registry options.
opengl32: Do not filter legacy extensions.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8473
Some old applications crash if GL_EXTENSIONS string is longer than a certain limit. There are some vendor-specific environment variable to limit the returned extensions, but it is IMO less convenient to use than a per-application registry setting which can be set once on prefix configuration time.
We have a DisabledExtensions registry key already, this adds a similar EnabledExtensions key that filters the returned extensions to only include those listed in that key, effectively limiting the size of the extensions string.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25362
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58422
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8473
Follow-up of !2786, which appears to have been abandoned.
Depends on !8182
# Execute minimal test case
1. in dlls/ws2_32/tests/sock.c wrap all calls to test functions after `Init()` until `test_afunix()` with #if 0 ... #endif
2. checkout wine into ~/src/wine
3. build into ~/src/wine-build
4. run `(cd ~/src/wine-build; WINEPREFIX=~/src/wine/.wine ../wine/tools/runtest -q -P wine -T . -M ws2_32.dll -p dlls/ws2_32/tests/i386-windows/ws2_32_test.exe sock)`
# How to debug wineserver
Since `wineserver` runs in the background, simple calls to printf() will show nothing when the test case is executed. A workaround is to open a file and call fprintf() to write debug messages to this file, which can then be inspected.
--
v31: ws2_32: Add note in bind() for AF_UNIX sockets
ws2_32/tests: In tests for AF_UNIX sockets print actual directory used
ws2_32/tests: In AF_UNIX socket tests always print used path in case of errors
ws2_32/tests: Add test for AF_UNIX sockets
server: Fix getsockname() and accept() on AF_UNIX sockets.
server: Introduce error when attempting to create a SOCK_DGRAM AF_UNIX socket.
server: Allow for deletion of socket files.
ws2_32: Add support for AF_UNIX sockets.
ws2_32: Add afunix.h header.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7650
F1 and F3 allow partial retrieval of previous entry from console history. They are used as shortcuts such that if the following were entered at the command line:
md tmptmp
cd <F3>
F3 will retrieve the previous line from history past the cursor position, and be auto-completed to "cd tmptmp". F1 works in a similar fashion, but with one character at a time.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8467