This increases the QoS class of the main Wine thread from default to user-interactive.
`pthread_attr_set_qos_class_np` was added in the 10.10 SDK, which is our minimum requirement already.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1232
Some fonts can end up with too low height for some sizes, resulting in ppem == 0, which can lead to some metrics becoming 0 too, especially tmHeight and tmAveCharWidth. This behavior is also observed on Windows, but on Linux it could lead to division by zero. This was noticed with the font `Emmentaler-Brace`, which comes with TexLive and GNU LilyPond, in the comctl32 status test.
This patch set also tries to make the Wine behavior closer to the Windows one by enabling tmAveCharWidth to be 0 and preventing it and tmHeight from causing divisions by zero. This is very much an edge case, and I don't know if it has caused problems in actual programs, so I don't know if it would be worth it to make the behavior match exactly. But this way at least the tests should pass if some incomplete/misconfigured fonts are installed.
I mainly limited myself to win32u. I'm not sure if these changes could affect behavior in other parts of the codebase, but the tests seems unchanged.
--
v2: win32u: Allow tmAveCharWidth to be 0.
win32u: Prevent division by 0 in get_transform_matrices().
win32u: check if tmAveCharWidth is 0 before division.
win32u: Do not use SCALE_NTM if TM.tmHeight == 0.
win32u: Warn when ppem == 0.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1192
This series improves Wine's support for delete-on-close flag and
delete disposition information on files:
- adapts tests for Windows 10
- extend and fix some tests
- implement some missing features in ntdll & server
--
v2: server: Let file creation fail depending unlink status.
server: Propagate the unlink status to all opened/closed files.
ntdll: Query FILE_STANDARD_INFORMATION.DeletePending from server.
ntdll: Extend file tests about delete-on-close and disposition.
ntdll: Fix share mode for some delete-on-close/delete disposition tests.
ntdll: Adapt file tests on delete-on-close / delete disposition to Windows 10.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1231
This series improves Wine's support for delete-on-close flag and
delete disposition information on files:
- adapts tests for Windows 10
- extend and fix some tests
- implement some missing features in ntdll & server
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1231
This change is adding DWARF (CFI) unwind information to the
hand-written assembly of the `__wine_syscall_dispatcher` function.
This enables unwinding through the dispatcher from the Linux stack
into (and through) the Windows stack.
The general idea is that the `syscall_frame` struct contains the
content of the callee-save registers before the function call
(in particular the stack pointer and the return address). At any
point of the execution, we have a pointer into the `syscall_frame`
in $ebx, $ecx, $ebp, or $esp.
For the CFI codes the general idea is that we are defining the
computations of the callee-save registers based on the
`syscall_frame` using DWARF’s `breg` instruction, rather than
relative to CFA.
cc/ @florian-kuebler
--
v4: ntdll: Add CFI unwind info to __wine_syscall_dispatcher (i386).
ntdll: Move CFI helper macros out of signal_x86_64.c.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1182
The storage event url prop fix is tested after the location.hash tests are added, implicitly. I didn't find a need to add extra tests for no reason there.
The super_navigate changes for fragments is also necessary for the location.hash tests (and its behavior, apparently)…
--
v2: mshtml: Implement document.importNode.
mshtml: Implement HTMLLocation_put_hash.
mshtml: Always use super_navigate when navigating fragments.
mshtml: Don't include fragment in storage event's url prop.
mshtml: Return E_ABORT if wine-gecko's OnDataAvailable aborts the binding.
mshtml: Improve locale stub for KeyboardEvent.
mshtml: Implement isContentEditable for HTML elements.
mshtml/tests: Handle broken localStorage on native.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1206