This is necessary if a protection software hooks LdrLoadDll, and then tries to use LoadLibrary[Ex]A from the hook. Yes, this actually happened.
--
v2: kernelbase: Made LoadLibraryExA allocate a new buffer for the module name.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8324
IWinInetHttpInfo_QueryInfo returns a multibyte string, not a wide string. We
were also wrongly expecting it to have a NUL terminator.
* * *
this one doesn't feel good. IWinInetHttpInfo_QueryInfo calls HttpInfo_QueryInfo (urlmon), which calls HttpQueryInfoA (wininet), so it returns char*. but inside, HttpQueryInfoA is calling HttpQueryInfoW and does charset conversion. so we are converting the string to multibyte and back.
maybe there's an API that returns wchar* i don't know about.
--
v5: mshtml: Fix misuse of IWinInetHttpInfo_QueryInfo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8228
IWinInetHttpInfo_QueryInfo returns a multibyte string, not a wide string. We
were also wrongly expecting it to have a NUL terminator.
* * *
this one doesn't feel good. IWinInetHttpInfo_QueryInfo calls HttpInfo_QueryInfo (urlmon), which calls HttpQueryInfoA (wininet), so it returns char*. but inside, HttpQueryInfoA is calling HttpQueryInfoW and does charset conversion. so we are converting the string to multibyte and back.
maybe there's an API that returns wchar* i don't know about.
--
v4: mshtml: Fix misuse of IWinInetHttpInfo_QueryInfo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8228
Updating the GL drawables on/offscreen dynamically, similarly to how we do it for Vulkan, and in order to ultimately converge and factor both GL and VK client surfaces.
--
v2: winex11: Rename context drawables to draw / read.
winex11: Drop pixmap-based child window workaround.
winex11: Update drawable size and offscreen when presenting.
winex11: Update every window GL drawable on resize / reparent.
winex11: Update GL drawable offscreen status instead of recreating.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8291
the copy part looks good to me (first 2 commits)
handling of separators in completion still lacks a couple of items
`dir "a+<TAB>` differs from native
`dir a,<TAB>` differs from native
`dir a"<TAB>` differs from native
note there are characters (other than '+') that native (tested on Win10 only) uses for file separation: '\\', '&', '(', ')', '/', '!', '\~', '{', '}', '\[', '\]' and surprisingly '^' (as ^ is an escape character)
what is not supported as separator:
'\<', '\>' how strange!!! you want a filename after a redirection!
'|' (that's strange I would have expected & and | to behave similarly)
and `dir a><TAB>` the '\>' is swallowed by completion... not sure we want that (esp. since you'd expect to type a filename after a redirection operator)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8200#note_106573
The function was passing a 32-bit `UNICODE_STRING` pointer directly to the 64-bit
function, causing string corruption. Use the `unicode_str_32to64()` helper like other
similar functions.
This fixes 32-bit .NET Framework applications failing to create windows, such as
[dnSpyEx v6.5.1 (x86)](https://github.com/dnSpyEx/dnSpy/releases/tag/v6.5.1), when using a new-style WoW64 build.
Fixes: 73f4aeb2dcc33abd2f3ee02ee8fc1042d1998399
--
v2: wow64win: Fix UNICODE_STRING thunking in wow64_NtUserRegisterWindowMessage.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8323