For the `performance.navigation` props, I store them in the timing that's already linked from the window, to prevent adding more code around that just for 2 props, so it keeps it simple.
--
v2: include/mshtml: Add IHTMLXDomainRequest and factory interfaces and classes.
mshtml: Don't check for doc_node from the doc obj when it can't be NULL.
mshtml: Return proper error for invalid selectors in IE8 mode.
mshtml: Treat edit mode as a reload.
mshtml: Implement performance.navigation.type.
mshtml: Implement performance.navigation.redirectCount.
mshtml: Set `reload` load type to Gecko for document reloads.
mshtml: Implement `onload` prop for input elements.
mshtml: Send load event synchronously for image elements if set to same src.
mshtml: Implement location.reload().
mshtml: Implement print events.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1526
We are currently locking the heap to iterate over the allocated regions, in order to check whether a pointer / block really belongs to one of them. This is not what native does it, as HeapFree / HeapReAlloc / HeapSize crashing on invalid pointers shows. This also makes it hard to improve the heap performance in multi-threaded scenarios.
This series reduces the locking requirement by keeping the region header offset in each block, relaxing the pointer checks, and assuming a heap region stays valid until all of its blocks have been freed. This also removes the locking requirement when accessing block level information, such as block type or flags or block user info. I'm assuming here that concurrent calls to heap functions on a given block are undefined.
Anything that involves modifying the block size, type or flags, walking the heap, or explicit validation still requires entering the heap lock.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1548
This reimplements all logic from the server in kernelbase, which is needed because Nt*Key ignores KEY_WOW64_32KEY. Unfortunately this requires a lot of server calls.
The full branch can be found here
https://gitlab.winehq.org/sbaars/wine/-/tree/shared-classes-new
The old approach that doesn't duplicate code to kernelbase can be found here
https://gitlab.winehq.org/sbaars/wine/-/tree/shared-classes-old
I ran make_requests by the way, not sure if we should still leave that out with the gitlab workflow.
--
v4: kernelbase: Recursively obtain the Wow6432Node parent.
kernelbase: Add support for shared registry keys.
kernelbase: Factor out the common parts of open_key() and create_key().
https://gitlab.winehq.org/wine/wine/-/merge_requests/1445
As Wine currently does not have a way to set captions, returning the default value should suffice for most applications.
It looks like Windows does not do error checking for the *value parameter.
For the computed properties, they return E_INVALIDARG when all the captions are set as Default. But they return S_OK if any of the caption settings have been modified, regardless of whether a valid *value parameter is passed.
I expected it to at least return the computed values for the default properties but this does not appear to be the case. I guess there's no reason to keep the checks for each member of the computed color struct? Perhaps keep the checks for E_INVALIDARG and S_OK? I haven't come across an application that uses the functions so I didn't implement them.
For the rest of the properties, the if (0) test was added just to show that it crashes with a NULL value. Also, if the wrong type is passed, the function does not crash on Windows and the value remains unchanged, but it returns S_OK.
--
v4: windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_RegionColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_BackgroundColor.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontEffect.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontStyle.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontSize.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontOpacity.
windows.media: Partially implement IClosedCaptionPropertiesStatics_get_FontColor.
windows.media/tests: Add Closed Caption Properties tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1537
Calling GetConsoleCP() when ReadConsoleW() fails (potentially indicating
that cmd.exe's instance isn't attached to a console) makes no sense.
In details, since GetConsoleCP() returns 0 when not attached to a console
to indicate error, we're in fact using CP_ACP.
So fallback explicitely to OEM CP (which is the default for CUI programs).
Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1546