Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55187
With this patch winedbg does from a user point of view
not silently exit, instead it can at least give this information
which might be at least better than nothing:
```
Process of pid=0020 has terminated
No process loaded, cannot execute 'echo Modules:'
Cannot get info on module while no process is loaded
No process loaded, cannot execute 'echo Threads:'
process tid prio name (all IDs are in hex)
... (list of still running processes)
System information:
Wine build: wine-8.11-146-gb0faa6fb042
Platform: i386
Version: Windows 10
Host system: Linux
Host version: 6.1.0-9-amd64
```
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3231
On Sat Jul 8 06:37:56 2023 +0000, Mohamad Al-Jaf wrote:
> That makes sense, it indeed duplicates the string on Windows based on
> the test I added. I'm not sure but there might be an issue with the way
> Wine handles HSTRING duplication as it's failing to create the right HSTRING.
> https://testbot.winehq.org/JobDetails.pl?Key=134593
> All I did was change it to `WindowsDuplicateString( name, &impl->rawname
> );` and add `WindowsDeleteString( impl->rawname );` under `IHostName::Release()`.
You should only call `WindowsDeleteString` if the refcount gets to 0 (and then you should also free the hostname, which I also missed).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3249#note_38391
This fixes an issue when the path includes non-ASCII characters.
Signed-off-by: Jactry Zeng <jzeng(a)codeweavers.com>
--
v2: mshtml: Call UrlUnescapeW() with URL_UNESCAPE_AS_UTF8 in is_gecko_path().
shlwapi/tests: Test UrlUnescapeW() with URL_UNESCAPE_AS_UTF8.
kernelbase: Implement URL_UNESCAPE_AS_UTF8 for UrlUnescapeW().
shlwapi/tests: Test UrlUnescapeW() with independent data.
https://gitlab.winehq.org/wine/wine/-/merge_requests/585
On Fri Jul 7 20:46:54 2023 +0000, Nikolay Sivov wrote:
> Shouldn't this duplicate the string?
That makes sense, it indeed duplicates the string on Windows based on the test I added. I'm not sure but there might be an issue with the way Wine handles HSTRING duplication as it's failing to create the right HSTRING.
https://testbot.winehq.org/JobDetails.pl?Key=134593
All I did was change it to `WindowsDuplicateString( name, &impl->rawname );` and add `WindowsDeleteString( impl->rawname );` under `IHostName::Release()`.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3249#note_38386
Windows 10 [received support](https://devblogs.microsoft.com/commandline/af_unix-comes-to-window… for AF_UNIX sockets in Insider Build 17063. This merge request adds basic support for AF_UNIX sockets to ws2_32 and wineserver.
Of particular note is the difficulty in handling `sun_path`. Most of the functions that allow for translating Windows paths to Unix paths are not accessible from ws2_32. I considered the following options:
* Pass the Windows path to wineserver and do the conversion there.
* This is, as far as I can tell, not possible without major rearchitecting. wineserver does not have functions to translate Windows paths to Unix paths, for obvious reasons.
* Obtain the current working directory of the requesting process and temporarily change directories to there.
* This only handles relative paths and fails for absolute paths, UNC paths, etc.
* Conditionally change directories based on whether the path is relative or not.
* This is error-prone and wineserver does not have the requisite functions to do this cleanly.
I ultimately decided to pass the translated Unix path to wineserver, which changes directories to `dirname(path)`. It then provides `bind` and `connect` with `basename(path)`. This is not threadsafe, but wineserver is not (currently) multithreaded.
Abstract sockets are supported by this patch.
--
v38: ws2_32/tests: Add test for AF_UNIX sockets fix.
server: Fix getsockname() and accept() on AF_UNIX sockets.
server: Introduce error when attempting to create a SOCK_DGRAM AF_UNIX socket.
server: Allow for deletion of socket files.
ws2_32: Add support for AF_UNIX sockets.
ntdll/unix: Add support for AF_UNIX sockets to multiple functions.
ws2_32: Add afunix.h header.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786
This also converts the opaque pointers passed across the PE->Unix interface to opaque types
represented as UINT64 which store the unix side pointer. This makes the thunking simpler and should
avoid anyone accidently dereferencing the unix pointer in the PE code.
This was tested with warcraft 3 (1.26, the last non-reforged release), and is consistent with the standard 32bit build. ~~But since movies on warcraft 3 are broken in standard 32bit builds I could only test that that the gstreamer graph gets built up similarly and not verify the video playback. Id appreciate if someone knew of a working exercise of the gstreamer code.~~ it works great, the issue with cinematics ended up being related to modesetting under xwayland, running with a virtual desktop in winecfg confirms playback working perfectly.
--
v9: winegstreamer: Implement Wow64 entrypoints in the Unix library.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3075
In HttpSendRequestW and HttpSendRequestExW, if the header pointer is not
null but the length parameter is 0, the header length should be derived
from the string length instead.
In HttpSendRequestA and HttpSendRequestExA, on the same scenario, the
function should fail instead.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3269