On Mon Mar 17 04:39:03 2025 +0000, Alexandre Julliard wrote:
> Please let's not reintroduce support for vm86 contexts and pointers.
> If necessary, you can add a separate real-mode handler for that specific
> call. But I'd suggest to first make sure that the app works without any
> actual vm86 support.
Now that simulated hardware interrupts for audio processing have been implemented in commit ff0fbb1ff5f76d1d206aea452907ad2dd29206ea, simulated real mode interrupts are the only thing left that's keeping 16-bit Myst from running. When I wrote this patch, I tried to not include anything more than what Myst requires. Could you please clarify which parts of the patch are not strictly necessary?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5052#note_98044
Signed-off-by: Kun Yang <yangkun(a)uniontech.com>
Change-Id: Ia68e11ccb0aa563eeb73a2f5cb93afcd328e1937
[fgetws_test.7z](/uploads/7b706f2c4f639e4260c548d834658b32/fgetws_test.7z)
If the application calls setvbuf(.., _IONBF, ..) before fgetws, wine sets the flag. In fgetws, this flag is not checked. read_i is called with paramenter count 1 which is not allowed in read_i implemantion. Function read_i returns -1 and the file stream is not actually read by program. The file pointer is not moved. If the application writes fgetws in a loop, it never reach EOF and falls in dead loop. By adding check for _IONBF in _filbuf, the application will run into another branch(file->_bufsiz=2). Thats's correct. Please checkout the example in my attachment. This application exits normally in Windows but falls in dead loop in wine.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7594
With this PR, the GdipFlattenPath and GdiAddPath*Curve are drawing the same way as the native gdiplus
--
v3: gdiplus: Fix GdipFlattenPath return path precision
gdiplus/test: Add GdipFlattenPath tests with default flatness 0.25
https://gitlab.winehq.org/wine/wine/-/merge_requests/7584