Overwatch 2 doesn't like the win32u `-syscall` conversion that happened a while back, because it hooks KiUserCallbackDispatcher. This MR fixes it up to match what Overwatch 2 expects.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1152
> I haven't seen any software that uses this, but some older software out there might use it, so it's good idea to export it.
In this case especially, I suggest you to add tests that exercise the newly exercised variable. Otherwise there's no way to verify if the type definition or the value is correct. It also becomes a maintenance burden with no clear benefit if no apps indeed use it.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1139#note_11910
This should move all of the remaining interfaces out of basedoc, except for IDispatchEx (and some fields will still remain); those will be for next MR.
Because all of the remaining interfaces are in the `htmldoc.c` file, and they typically tend to just forward to the HTMLDocumentNode, I'm using some macros inspired by the HTMLWINDOW7_ONEVENT_PROPERTY_\* in `htmlwindow.c` to reduce duplication. The ones that are exceptions are implemented normally without macros.
The first commit converts all of the non-IHTMLDocument\* interfaces because most of the methods are FIXMEs/unimplemented, so splitting it up isn't worth it.
--
v4: mshtml: Move the IHTMLDocument7 interface out of basedoc.
mshtml: Move the IHTMLDocument6 interface out of basedoc.
mshtml: Move the IHTMLDocument5 interface out of basedoc.
mshtml: Move the IHTMLDocument4 interface out of basedoc.
mshtml: Move the IHTMLDocument3 interface out of basedoc.
mshtml: Move the IHTMLDocument2 interface out of basedoc.
mshtml: Move the remaining non-IHTMLDocument* interfaces out of basedoc.
mshtml: Move HTMLDocumentObj implementation to oleobj.c.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1125
On Thu Oct 20 10:02:00 2022 +0000, **** wrote:
> Marvin replied on the mailing list:
> ```
> Hi,
> It looks like your patch introduced the new failures shown below.
> Please investigate and fix them before resubmitting your patch.
> If they are not new, fixing them anyway would help a lot. Otherwise
> please ask for the known failures list to be updated.
> The full results can be found at:
> https://testbot.winehq.org/JobDetails.pl?Key=125183
> Your paranoid android.
> === debian11 (build log) ===
> Task: Could not create the win32 wineprefix: Failed to disable the crash
> dialogs:
> Task: WineTest did not produce the win32 report
> ```
Why was this merge request accepted when it clearly breaks the creation of 32-bit wineprefixes?
The consequence was predictable, we've lost the 32-bit Wine test results ever since:
https://test.winehq.org/data/patterns-tb-wine.html
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1089#note_11891
This should move all of the remaining interfaces out of basedoc, except for IDispatchEx (and some fields will still remain); those will be for next MR.
Because all of the remaining interfaces are in the `htmldoc.c` file, and they typically tend to just forward to the HTMLDocumentNode, I'm using some macros inspired by the HTMLWINDOW7_ONEVENT_PROPERTY_\* in `htmlwindow.c` to reduce duplication. The ones that are exceptions are implemented normally without macros.
The first commit converts all of the non-IHTMLDocument\* interfaces because most of the methods are FIXMEs/unimplemented, so splitting it up isn't worth it.
--
v3: mshtml: Move the IHTMLDocument7 interface out of basedoc.
mshtml: Move the IHTMLDocument6 interface out of basedoc.
mshtml: Move the IHTMLDocument5 interface out of basedoc.
mshtml: Move the IHTMLDocument4 interface out of basedoc.
mshtml: Move the IHTMLDocument3 interface out of basedoc.
mshtml: Move the IHTMLDocument2 interface out of basedoc.
mshtml: Move the remaining non-IHTMLDocument* interfaces out of basedoc.
mshtml: Move HTMLDocumentObj implementation to oleobj.c.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1125
This is wine-7.0.1-rc1, so not ready yet to merge.
--
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/955
The whole joystick list is refreshed anyway, so probably no reason to track the delay per joystick.
Fixes FPS drops happening each 2-3 seconds in Super House of Dead Ninjas. The game normally calls joyGetPosEx() for joystick 0 only, but once per second it scans all the 16 possible joysticks and for 15 of those joyGetPosEx() results in lengthy joystick list refresh, causing FPS drop in this otherwise not demanding game.
--
v2: winmm: Use a global timeout for refreshing joystick devices.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1142
I was really confused about whether strdupW or wcsdup is preferred in shell32. Since strdupW is deprecated, let's just get rid of it so that no one else has to wonder.
--
v2: shell32: Remove unused function strdupW.
shell32: Don't use strdupW or heap_* functions in shelllink.c.
shell32: Don't use strdupW or heap_* functions in shelldispatch.c.
shell32: Don't use strdupW or heap_* functions in shellole.c.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1103
Interpreting the fist two bytes of the `sockaddr` struct as `sa_family`
produces incorrect behaviour on macOS and (presumbly) BSD.
This change uses both Unix and Windows socket headers to convert the libpcap provided sockaddr before duplicating it.
This fixes sockaddr being always NULL on macOS/BSD and ipv6 addresses not working in general since `AF_INET6` differs on Windows(23), macOS(30) and Linux(10)
For reference https://www.ibm.com/docs/en/i/7.3?topic=family-af-inet-address and this is from the <sys/socket.h> on macOS
```
/*
* [XSI] Structure used by kernel to store most addresses.
*/
struct sockaddr {
__uint8_t sa_len; /* total length */
sa_family_t sa_family; /* [XSI] address family */
char sa_data[14]; /* [XSI] addr value (actually larger) */
};
```
--
v5: wpcap: Convert unix sockaddr to win32 sockaddr
https://gitlab.winehq.org/wine/wine/-/merge_requests/1015
This fixes data race in ARM/ARM64 platforms, and prevents potential
memory access reordering by the compiler.
--
v3: gdiplus: Replace GpImage's busy flag with SRWLOCK.
gdiplus: Avoid copying GpImage's busy flag in select_frame_wic().
gdiplus: Avoid recursively locking image in GdipImageRotateFlip.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1003