I've dropped the change that adds support for utf-8 during conversion for now. It needs more work - it should be supported in some files/directories/process/environment related functions. It would be good to switch all of the functions in one patch. There's quite a big change that this changes will introduce some regressions.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6680#note_89123
--
v2: jscript: Implement Uint8ClampedArray.
jscript: Implement 'set' for Typed Arrays.
jscript: Implement 'subarray' for Typed Arrays.
jscript: Implement Typed Array construction from objects.
jscript: Implement ArrayBuffer.isView.
jscript: Implement Typed Array construction on ArrayBuffers.
jscript: Add initial implementation of Typed Arrays.
jscript: Use DISP_E_UNKNOWNNAME when looking up a prop that doesn't exist.
jscript: Avoid allocating props for indexed props unless necessary.
jscript: Move the indexed prop idx lookup into a helper.
mshtml/tests: Test redefining a writable indexed prop.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5085
Every other use of `EDIT_EM_SetSel` updates caret position by calling `EDIT_EM_ScrollCaret` or `EDIT_SetCaretPos`.
Fixes caret blinking in the middle when selecting all text.

--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3226
This commit replaces the SampleGrabberSink with a dedicated Video Sink,
referred to as the Simple Video Renderer (SVR).
This brings it more inline with Windows and provides the benefit of
having direct access to the IMFSample, removing the need to copy the
sample data.
--
v6: mfmediaengine: Fallback to sample copy if scaling is required.
mfmediaengine: Implement D3D-aware video frame sink.
mfmediaengine: Implement SVR.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5924
--
v9: jscript: Remove PROP_IDX dispex props by handling them in object prop methods.
jscript: Move filling the PROTREF into a helper.
jscript: Simplify get_flags to only check whether it's enumerable.
jscript: Get rid of on_put in the object vtbl.
jscript: Inline prop_put.
jscript: Inline prop_get.
jscript: Inline invoke_prop_func and invoke PROTREFs using their vtbl method.
jscript: Inline delete_prop.
jscript: Use mandatory methods in the object vtbl to operate on props found
jscript: Use mandatory methods in the object vtbl to operate on props
mshtml/tests: Test redefining a writable indexed prop.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5444
The reference count of host is supposed to go up by one in netconn_create.
The missing ref increment causes error handling paths
where netconn_close or release_host is called
to prematurely decrement the ref count of host to zero.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1121
x86_64 Windows and macOS both use `%gs` to access thread-specific data (Windows TEB, macOS TSD). To date, Wine has worked around this conflict by filling the most important TEB fields (`0x30`/`Self`, `0x58`/`ThreadLocalStorage`) in the macOS TSD structure (Apple reserved the fields for our use). This was sufficient for most Windows apps.
CrossOver's Wine had an additional hack to handle `0x60`/`ProcessEnvironmentBlock`, and binary patches for certain CEF binaries which directly accessed `0x8`/`StackBase`. Additionally, Apple's libd3dshared could activate a special mode in Rosetta 2 where code executing in certain regions would use the Windows TEB when accessing `%gs`.
Now that the PE separation is complete, GSBASE can be swapped when entering/exiting PE code. This is done in the syscall dispatcher, unix-call dispatcher, and for user-mode callbacks. GSBASE also needs to be set to the macOS TSD when entering signal handlers (in `init_handler()`), and then restored to the Windows TEB when exiting (in `leave_handler()`). There is a special-case needed in `usr1_handler`: when inside a syscall (on the kernel stack), GSBASE may need to be reset to either the TEB or the TSD. The only way to tell is to determine what GSBASE was set to on entry to the signal handler.
---
macOS does not have a public API for setting GSBASE, but the private `_thread_set_tsd_base()` works and was added in macOS 10.12.
`_thread_set_tsd_base()` is a small thunk that sets `%esi`, `%eax`, and does the `syscall`: https://github.com/apple-oss-distributions/xnu/blob/8d741a5de7ff4191bf97d57….
The syscall instruction itself clobbers `%rcx` and `%r11`.
I've tried to save as few registers as possible when calling `_thread_set_tsd_base()`, but there may be room for improvement there.
---
I've tested this successfully on macOS 15 (Apple Silicon and Intel) with several apps and games, including the `cefclient.exe` CEF sample.
I still need to test this patch on macOS 10.13, and I'd also like to do some performance testing.
---
I also tested an alternate implementation strategy for this which took advantage of the expanded "full" thread state which is passed to signal handlers when a process has set a user LDT. The full thread state includes GSBASE, so GSBASE is set back to whatever is in the sigcontext on return (like every other field in the context). This would avoid needing to explicitly reset GSBASE in `leave_handler()`, and avoid the special-case in `usr1_handler()`.
This strategy was simpler, but I'm not using it for 2 reasons:
- the "full" thread state is only available starting with macOS 10.15, and we still support 10.13.
- more crucially, Rosetta 2 doesn't seem to correctly implement the GS.base field of the full thread state. It's set to 0 on entry, and isn't read on exit.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6866
Brendan Shanks (@bshanks) commented about server/mach.c:
> return 0;
> }
>
> - if ((ret = task_suspend( process_port )) != KERN_SUCCESS)
> - {
> - mach_set_error( ret );
> - return 0;
> - }
Can you put the removal of `task_suspend()` and `task_resume()` (I guess for all 3 functions) into a separate commit?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4826#note_89089
--
v3: mshtml: Get rid of HTMLELEMENT_TIDS.
mshtml: Add IHTMLDOMNode2 in every mode in node's init_dispex_info.
mshtml: Move HTMLTableDataCellElement prototype props to the
mshtml: Don't expose some props from elements in IE11 mode.
mshtml: Don't expose some props from elements in IE10+ modes.
mshtml: Don't expose expression methods from elements in IE9+ modes.
mshtml: Don't expose onpage from elements in IE9+ modes.
mshtml: Move normalize from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Move hasAttributes from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Move toString from HTMLElement to HTMLAnchorElement or HTMLAreaElement
mshtml: Don't expose onmspointerhover from elements in IE11 mode.
mshtml: Don't expose fireEvent from elements in IE11 mode.
mshtml: Expose respective props from Element prototype.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6910
--
v2: mshtml: Get rid of HTMLELEMENT_TIDS.
mshtml: Add IHTMLDOMNode2 in every mode in node's init_dispex_info.
mshtml: Move HTMLTableDataCellElement prototype props to the
mshtml: Don't expose some props from elements in IE11 mode.
mshtml: Don't expose some props from elements in IE10+ modes.
mshtml: Don't expose expression methods from elements in IE9+ modes.
mshtml: Don't expose onpage from elements in IE9+ modes.
mshtml: Move normalize from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Move hasAttributes from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Move toString from HTMLElement to HTMLAnchorElement or HTMLAreaElement
mshtml: Don't expose onmspointerhover from elements in IE11 mode.
mshtml: Don't expose fireEvent from elements in IE11 mode.
mshtml: Expose respective props from Element prototype.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6910
This MR implements `NtContinueEx(PCONTEXT, PCONTINUE_OPTIONS)` which was added in Windows 10 20H1.
Also added basic test reusing existing `test_continue()` (included from !4720)
League of Legends game hooks `NtContinue()` and `NtContinueEx()` by putting `jmp` instruction in front of it.
Note that LoL doesn't actually use `NtContinueEx()` itself and game will work fine without it but if game doesn't find `NtContinueEx()` it will permanently ban your account due to detecting "scripting program"
--
v6: ntdll/tests: Implement APC test for NtContinue()
ntdll/tests: Add basic test for NtContinueEx()
ntdll: Implement NtContinueEx()
https://gitlab.winehq.org/wine/wine/-/merge_requests/4761
These changes are the documented way to implement IMFMediaEventGenerator for a media source. On top of !6783 it seems to greatly reduce the chance of hanging while switching characters in Killsquad if tracing is not enabled.
--
v3: winegstreamer: Enqueue an event if a media source start/pause/stop async command fails due to shutdown.
mf: Handle media source Start() failure due to source shutdown.
mf: Handle media source event subscription failure due to source shutdown.
mf: Handle media source BeginGetEvent() failure due to shutdown.
mf: Handle media source EndGetEvent() failure due to shutdown.
mf/tests: Add tests for shutting down a media source used in a session.
winegstreamer: Return the result code from media_source_Pause().
rtworkq: Do not cancel pending callbacks when closing a thread pool.
mfplat/tests: Add a test for calling MFUnlockWorkQueue() with pending items.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6800
The main motivation is to enable it for debug traces too, but for that we need !6852 merged first.
Clang is too strict about `%I` using the same type as `size_t`, which is `int` on 32-bit Windows targets. Ideally, it would be fixed in Clang, but we already have a hack for it in mingw mode, so I just extended it for now.
Changing type of `LONG_PTR` is pretty invasive, especially for C++ code (I'd expect it to break @rbernon's libc++ builds). We could probably guard it with `__cplusplus`. I restricted it even further with `__WINESRC__` under the assumption that external header users are less likely to care about this particular warning problem than about underlying type in general.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6886
This PR updates the behaviour of `NtQueryDirectoryFile`, bringing it in line with current Windows behaviour. The need for this update was discovered when attempting to build the Unreal Engine with MSVC under Wine. In certain cases conditional include statements do not behave as expected, due to MSVC depending on undocumented behaviour of `NtQueryDirectoryFile`.
We ran tests on multiple versions of Windows, and discovered that the behaviour has changed since the original Wine implementation, but the documentation has not. The source code for our test tool, and a set of results can be found [here](https://github.com/TensorWorks/NtQueryDirectoryFile-Test). As of Windows 8, calling `NtQueryDirectoryFile` with a re-used handle, a new mask, and setting the `RestartScan` flag to True, causes the cached results to be erased and a new scan to be performed with the updated mask. Currently, Wine performs as did earlier versions of Windows, where the changed mask is ignored, and the cache is reused. This can cause `NtQueryDirectoryFile` under Wine to falsely report that files exist, when they do not.
This PR corrects this behaviour, invalidating the cache when required. Implementing this exposed further undocumented behaviour of `NtQueryDirectoryFile`, where a search for a non-existent file will return either `STATUS_NO_MORE_FILES` or `STATUS_NO_SUCH_FILE`, depending on whether or not the handle had been previously used regardless of the value of `RestartScan`. This was reflected in a `winetest` which allowed for the response to be either `STATUS_SUCCESS` or `STATUS_NO_MORE_FILES`. This test has been updated to only allow current Windows behaviour, and `NtQueryDirectoryFile` will return either `STATUS_NO_MORE_FILES` or `STATUS_NO_SUCH_FILE` as appropriate.
This patch also adds unit tests for the new behaviour of `NtQueryDirectoryFile`. These tests pass when running `winetest` under Windows, and under Wine with these changes in place, but they will fail under older versions of Wine.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6904
When the combobox height is to be set by the application (as the CBS_NOINTEGRALHEIGHT style is on), and when a large size is specified but only a small number of items in the list, the height of the combobox should be set by the number of items rather than the size specified to avoid empty lines.
The first commit fixes this and the second is a test for this behavior.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57360
Closes #7
--
v3: comctl32: Make CBS_NOINTEGRALHEIGHT only set minimum combobox height.
comctl32/tests: Add tests for a small number of items but big size to the combobox dropdown size tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6898
WaitCompletionPacket is a kernel object that, when associated with a target object and a completion object and when the target object is signaled, adds the completion information stored in itself to the completion object.
For React Native.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6911
The "GdiInterop" is a sample application (source code is avaiable in [Github][source_code], relative guide in [MSDN][msdn_guide]) that demostracts how to display DirectWrite text on a GDI surface. After set dpi to 168 in `winecfg`, and run sample application with wine, the font size is normal, but the position of glyph is incorrect.
| Dpi: 96 | Dpi: 168 |
|:----------------:|:-----------------:|
| ![ss1][sc_96dpi] | ![ss2][sc_168dpi] |
There is the sample application after compile: [Release_x64.tar.gz](/uploads/c70e32824efcaa5d16ab39bbb4b86e30/Release_x64.tar.gz)
After change transform matrix that pass to `IDWriteFactory7_CreateGlyphRunAnalysis`, it can display glyph correctly.
[source_code]: https://github.com/microsoft/Windows-classic-samples/blob/main/Samples/Win7…
[msdn_guide]: https://learn.microsoft.com/en-us/windows/win32/directwrite/render-to-a-gdi…
[sc_96dpi]: /uploads/59cc343cfaa025f4ff4c32a84ab8cfeb/图片.png
[sc_168dpi]: /uploads/938be653362bb6ac58471b69ab66099a/图片.png
--
v5: dwrite: Fix incorrect position of glyph when rendering with BitmapRenderTarget in HiDPI
dwrite: Return render bounds if text not intersect to BitmapRenderTarget
https://gitlab.winehq.org/wine/wine/-/merge_requests/3718
I'm starting to consider wrapping more vulkan objects in win32u, I think it'll be useful to implement compositing (and incidentally shared resources with interop with the D3DKMT/NtGdi API), starting with nulldrv/offscreen swapchains. Alternatively we could export more functions from win32u and keep all the wrappers in winevulkan, but having access to win32u internals with a generic vulkan object wrapping mechanism seems to be more interesting.
Right now this is not very convenient because the vulkan object hierarchy is only available in winevulkan. This introduces shared structures and API between win32u and winevulkan so they can manipulate the wrapped objects from both side. The interface would only expose what is necessary, ie: the object hierarchy and wrapped handles, the instance and device functions, and the objects rbtree for debugging, so win32u can insert its wrapper there as well.
After moving the surface and swapchain wrappers to win32u, the interface would look like this: https://gitlab.winehq.org/rbernon/wine/-/blob/65ca1280d46a2dff792e298c22242… (I pushed a complete WIP branch to https://gitlab.winehq.org/rbernon/wine/-/commits/wip/vulkan-win32u-driver?r…). We can also consider moving all the winevulkan wrappers to win32u but it's not clear whether it's necessary or desirable, and we can also do that later using this interface.
--
v6: winevulkan: Introduce a new vulkan_physical_device base structure.
winevulkan: Introduce a new vulkan_instance base structure.
winevulkan: Hoist physical device array and client instance handle.
winevulkan: Name wine_instance parameters and variables more consistently.
winevulkan: Move vulkan_client_object header to wine/vulkan_driver.h.
winevulkan: Generate ALL_VK_(DEVICE|INSTANCE)_FUNCS in wine/vulkan.h.
winevulkan: Get rid of the instance/device funcs structs.
win32u: Use PFN_* typedefs for vulkan function pointers.
winevulkan: Add missing wine_vkGetPhysicalDeviceSurfaceFormatsKHR manual wrapper.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6427
I'm starting to consider wrapping more vulkan objects in win32u, I think it'll be useful to implement compositing (and incidentally shared resources with interop with the D3DKMT/NtGdi API), starting with nulldrv/offscreen swapchains. Alternatively we could export more functions from win32u and keep all the wrappers in winevulkan, but having access to win32u internals with a generic vulkan object wrapping mechanism seems to be more interesting.
Right now this is not very convenient because the vulkan object hierarchy is only available in winevulkan. This introduces shared structures and API between win32u and winevulkan so they can manipulate the wrapped objects from both side. The interface would only expose what is necessary, ie: the object hierarchy and wrapped handles, the instance and device functions, and the objects rbtree for debugging, so win32u can insert its wrapper there as well.
After moving the surface and swapchain wrappers to win32u, the interface would look like this: https://gitlab.winehq.org/rbernon/wine/-/blob/65ca1280d46a2dff792e298c22242… (I pushed a complete WIP branch to https://gitlab.winehq.org/rbernon/wine/-/commits/wip/vulkan-win32u-driver?r…). We can also consider moving all the winevulkan wrappers to win32u but it's not clear whether it's necessary or desirable, and we can also do that later using this interface.
--
v5: winevulkan: Introduce a new vulkan_physical_device base structure.
winevulkan: Introduce a new vulkan_instance base structure.
winevulkan: Pass physical device array params to some helpers.
winevulkan: Name wine_instance parameters and variables more consistently.
winevulkan: Move vulkan_client_object header to wine/vulkan_driver.h.
winevulkan: Generate ALL_VK_(DEVICE|INSTANCE)_FUNCS in wine/vulkan.h.
winevulkan: Get rid of the instance/device funcs structs.
win32u: Use PFN_* typedefs for vulkan function pointers.
winevulkan: Add missing wine_vkGetPhysicalDeviceSurfaceFormatsKHR manual wrapper.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6427
The cast there seems safe from looking at the struct definitions, and is also used elsewhere in the codebase (dlls/kernelbase/locale.c:5682).
It's obviously not a full implementation, but works well enough for my usecase and maybe others as well.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4851
I'm starting to consider wrapping more vulkan objects in win32u, I think it'll be useful to implement compositing (and incidentally shared resources with interop with the D3DKMT/NtGdi API), starting with nulldrv/offscreen swapchains. Alternatively we could export more functions from win32u and keep all the wrappers in winevulkan, but having access to win32u internals with a generic vulkan object wrapping mechanism seems to be more interesting.
Right now this is not very convenient because the vulkan object hierarchy is only available in winevulkan. This introduces shared structures and API between win32u and winevulkan so they can manipulate the wrapped objects from both side. The interface would only expose what is necessary, ie: the object hierarchy and wrapped handles, the instance and device functions, and the objects rbtree for debugging, so win32u can insert its wrapper there as well.
After moving the surface and swapchain wrappers to win32u, the interface would look like this: https://gitlab.winehq.org/rbernon/wine/-/blob/65ca1280d46a2dff792e298c22242… (I pushed a complete WIP branch to https://gitlab.winehq.org/rbernon/wine/-/commits/wip/vulkan-win32u-driver?r…). We can also consider moving all the winevulkan wrappers to win32u but it's not clear whether it's necessary or desirable, and we can also do that later using this interface.
--
v4: winevulkan: Introduce a new vulkan_physical_device base structure.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6427
On Tue Nov 26 09:45:58 2024 +0000, Michele Dionisio wrote:
> I remove the check as you request. but in my opinion now the test fails
> on linux and windows too
they fail on linux when run from a unix console, I don't see failure on windows
you can add the attached patch to work around this
[patch-timeout](/uploads/e311af5c8318f780aad5ff66a714ba26/patch-timeout)
I let you fix the remaining failure
Note: since MR!6888 has been merged, you don't need to take care of returning STATUS_CONTROL_C_EXIT, it's done by the default handlers now
Note2: the SetStdHandle() call between FreeConsole() and AllocConsole() in this patch looks suspicious : it's not needed under Windows, so likely another Wine bug (but it's needed for now, esp. when running the tests under Wine from a unix console)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6869#note_88940
When the combobox height is to be set by the application (as the CBS_NOINTEGRALHEIGHT style is on), and when a large size is specified but only a small number of items in the list, the height of the combobox should be set by the number of items rather than the size specified to avoid empty lines.
The first commit fixes this and the second is a test for this behavior.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57360
Closes #7
--
v2: comctl32: Make CBS_NOINTEGRALHEIGHT only set minimum combobox height.
comctl32/tests: Add tests for a small number of items but big size to the combobox dropdown size tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6898
--
v4: dsound: Add non-NaN value tests for SetOrientation().
dsound/tests: Add NaN tests for floating-point 3D functions.
dsound: Add an angle check for SetOrientation().
dsound: Handle NaN values in the 3D code.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6289
--
v4: msvcp140: Call into fopen from _Fiopen.
ucrtbase: Handle utf-8 in _fsopen.
msvcp140/tests: Add tests for _Fiopen.
msvcp120/tests: Add tests for _Fiopen.
ucrtbase/tests: Add tests for _fsopen.
msvcr120/tests: Add tests for _fsopen.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6680
When the combobox height is to be set by the application (as the CBS_NOINTEGRALHEIGHT style is on), and when a large size is specified but only a small number of items in the list, the height of the combobox should be set by the number of items rather than the size specified to avoid empty lines.
The first commit fixes this and the second is a test for this behavior.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57360
Closes #7
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6898
On Mon Nov 25 17:13:42 2024 +0000, eric pouech wrote:
> > wine ../tests/x86_64-windows/timeout.exe_test.exe \</dev/null
> why are running the tests redirecting the input stream ? the
> VerifyConsoleIoHandle checks the input handle is a console handle, in
> your case it's a handle on a file (/dev/null on Unix) and hence the call
> with always fail
I remove the check as you request. but in my opinion now the test fails on linux and windows too
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6869#note_88895
Fixes balloon tooltips so that they can be drawn outside of the work area (required for system tray icons) and improves the shape of the tooltips so that they resemble their shape on Windows.
--
v4: Diff reduce
https://gitlab.winehq.org/wine/wine/-/merge_requests/3547
https://store.steampowered.com/app/345610/The_Fruit_of_Grisaia/ likes to call IDirectSoundNotify::SetNotificationPositions with position two bytes before the end of the buffer, then play it nonlooping.
If Wine doesn't feel like delivering these notifications, the Quit Game button on the title screen screws up.
The game also likes to lock up during scene transitions in Wine/Proton, which I strongly suspect (but haven't confirmed) has the same root cause. (I haven't found a reliable repro for the lockups.)
--
v2: dsound: Fix SetNotificationPositions at end of nonlooping buffer.
dsound/tests: Add nonlooping SetNotificationPositions test.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6873
As a side effect (and trigger) this gets rid of a variable named
bool which is a reserved identifier in C23 and would break with
GCC 15 moving to -std=gnu23 (which is based on C23).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6901
--
v4: mshtml: Make ProgressEvent constructor only available in IE10+ modes.
mshtml: Make PageTransitionEvents only available in IE11 mode.
mshtml: Expose ie9_char as char for KeyboardEvent.
mshtml: Implement get_data for legacy DOCTYPE comment elements.
mshtml: Don't expose element props from comment nodes in IE9+ modes.
mshtml: Don't expose 'atomic' prop from comment nodes in IE9+ modes.
mshtml: Expose IHTMLCommentElement2 interface for comment elements.
mshtml: Don't expose toString from text nodes in IE9+ mode.
mshtml: Expose the props from the IWineHTMLCharacterData interface for
mshtml: Add an internal IWineHTMLCharacterData interface and forward text
mshtml: Move htmlcomment.c contents into htmltextnode.c.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6887
--
v2: server: When renaming, only fstat the source once.
server: Remove source when renaming to a hardlink of itself.
kernel32/tests: Test renaming a file into a hardlink of itself.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6855
--
v3: mshtml: Make ProgressEvent constructor only available in IE10+ modes.
mshtml: Make PageTransitionEvents only available in IE11 mode.
mshtml: Expose ie9_char as char for KeyboardEvent.
mshtml: Implement get_data for legacy DOCTYPE comment elements.
mshtml: Don't expose element props from comment nodes in IE9+ modes.
mshtml: Don't expose 'atomic' prop from comment nodes in IE9+ modes.
mshtml: Expose IHTMLCommentElement2 interface for comment elements.
mshtml: Don't expose toString from text nodes.
mshtml: Expose the props from the IWineHTMLCharacterData interface for
mshtml: Add an internal IWineHTMLCharacterData interface and forward text
mshtml: Move htmlcomment.c contents into htmltextnode.c.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6887
Windows 10 and 11 introduce the timeout.exe command. This is a similar program with same argument options
--
v23: timeout: add minimal test suite
timeout: Windows 10 introduce the timeout command
https://gitlab.winehq.org/wine/wine/-/merge_requests/6869
Windows 10 and 11 introduce the timeout.exe command. This is a similar program with same argument options
--
v22: timeout: add minimal test suite
timeout: Windows 10 introduce the timeout command
https://gitlab.winehq.org/wine/wine/-/merge_requests/6869