On Wed Apr 24 13:55:44 2024 +0000, Yuxuan Shui wrote:
> Like I said, you need to call `ShellExecute( NULL, NULL, "linuxbinary.",
> "1", "C:\Temp\Application\linux", SW_SHOW);`, which is how `start.exe`
> would be doing.
That's really not a solution. This was working without issues for many years. So, forcing our users to upgrade our product isn't always an option.
Also, how backward compatible is that solution going to be? We still have users on *cough* wine 5, will it work for them?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5400#note_69293
ucrtbase._mbsncpy_s is used by Marvel vs Capcom when trying to create multiplayer lobby.
The functions are also present in msvcrt (unlike msvcr70, msvcr71) where I didn't add it because it behaves differently: there is at least one weirdness when it doubles the number of characters to copy ('n' parameter, not buffer size). I suppose we don't need to explore and deal with this specific until something needs those functions from msvcrt.
--
v3: msvcrt: Implement _mbsncpy_s[_l]().
msvcr80/tests: Fix errno access in tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5547
ucrtbase._mbsncpy_s is used by Marvel vs Capcom when trying to create multiplayer lobby.
The functions are also present in msvcrt (unlike msvcr70, msvcr71) where I didn't add it because it behaves differently: there is at least one weirdness when it doubles the number of characters to copy ('n' parameter, not buffer size). I suppose we don't need to explore and deal with this specific until something needs those functions from msvcrt.
--
v2: msvcrt: Implement _mbsncpy_s[_l]().
https://gitlab.winehq.org/wine/wine/-/merge_requests/5547
Fix a regression from ee0aad5c, which changes the virtual desktop display frequency to that of
the host display while adding modes of 60Hz. So when the host display is not 60Hz, we might get
ChangeDisplaySettings() failures when virtual desktop is on because the target mode is not found
because of the frequency difference.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5557
--
v7: win32u: Introduce a new add_virtual_modes helper.
winex11: Let win32u decide when to force update the display cache.
win32u: Don't force refresh the display cache on thread desktop change.
winex11: Report all sources as detached in virtual desktop mode.
explorer: Only initialize display settings for attached devices.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5422
--
v2: winex11: Remove now unnecessary surface wrapper struct.
win32u: Move thread detach from winex11.
win32u: Introduce a per-window vulkan surface list.
winewayland: Get rid of the now unnecessary surface wrapper.
win32u: Return the host surface directly from vulkan_surface_create.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5551
--
v5: mfreadwrite/reader: Pass the device manager to the stream transforms.
winegstreamer/video_processor: Implement D3D awareness.
mf/tests: Test video processor D3D11 awareness.
mfreadwrite/tests: Add some source reader D3D11 awareness tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5459
Follow up to !5342. This adds the last missing piece for fixing how `ShellExecute` finds files, and restore the ability of running native unix programs with `ShellExecute`
--
v8: shell32: Restore the ability of running native unix programs with ShellExecute
https://gitlab.winehq.org/wine/wine/-/merge_requests/5400
Won't affect any existing program (all PatchMesh related functions are stubs), but could save a bunch of confusion in the future.
Could also save some confusion for mingw users, their headers copy plenty of stuff from Wine.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5550
Follow up to !5342. This adds the last missing piece for fixing how `ShellExecute` finds files, and restore the ability of running native unix programs with `ShellExecute`
--
v7: shell32: Restore the ability of running native unix programs with ShellExecute
https://gitlab.winehq.org/wine/wine/-/merge_requests/5400
First part of Proton shared memory series. The full branch can be seen at https://gitlab.winehq.org/rbernon/wine/-/commits/mr/shared-memories.
--
v32: win32u: Use the desktop shared data for GetCursorPos.
server: Move the last cursor time to the desktop session object.
server: Move the cursor position to the desktop session object.
win32u: Open desktop shared objects from session mapping.
server: Return the desktop object info in get_thread_desktop.
server: Allocate shared session object for desktops.
win32u: Open the global session shared mapping.
include: Add ReadNoFence64 inline helpers.
server: Create a global session shared mapping.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3103
This makes builds reproducible, and matches the current MIDL behavior (except that MIDL's string representation inexplicably varies with the build machine timezone).
The new info_string used by WIDL: `Created by WIDL version 9.7 at Tue Jan 19 03:14:07 2038`
And the custom data section in a .tlb file created by a recent MIDL:
```
off 0: guid(DE77BA65-517C-11D1-A2DA-0000F8773CE9) value(Created by MIDL version 8.01.0628 at Mon Jan 18 19:14:07 2038)
off c: guid(DE77BA63-517C-11D1-A2DA-0000F8773CE9) value(2147483647)
off 18: guid(DE77BA64-517C-11D1-A2DA-0000F8773CE9) value(134283892)
```
The only detailed info about this change in MIDL (which happened years ago AFAICT) is from Chromium.
They have a script which processes TLB files to compare against previously-built artifacts (or something similar), and mentions the timestamp and timezone: https://chromium.googlesource.com/chromium/src/+/master/build/toolchain/win…
They also have a rough Python 2 script to parse/dump TLB files, which is where the above MIDL output comes from: https://chromium-review.googlesource.com/c/chromium/src/+/693223
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5533
--
v3: mf/session: Handle transform format changes and update downstream media types.
mf/session: Wrap samples in IMFMediaEvent list instead of IMFSample list.
mf/session: Introduce new session_get_topo_node_input helper.
mf/session: Introduce new session_get_topo_node_output helper.
mf/session: Get session topo_node from their IMFTopologyNode directly.
mf/session: Introduce new (allocate|release)_output_samples helpers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5450
Termios2 is a modern Linux feature thats allows usage of any custom baudrate instead of hardcoded values from the 1970's.
Also, this patch improves compatibility with the win32 api, because windows allow any custom baudrates by design.
Example software for which this patch is needed: http://www.vi-soft.com.ua/index_e.htm
This software for reading/writing/patch fullflash of Siemens mobile phones, where serial speed is important.
V-Klay uses 1600000 baudrate and perfectly works on Linux with termios2 and Prolific PL2303.
--
v6: ntdll/unix: Use termios2 for serial when possible.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5211
based on !5504
--
v2: winestreamer/video_decoder: Use video_decoder to implement wmv decoder.
winegstreamer/video_decoder: Support aggregation.
winegstreamer/video_decoder: Add wg_transform_attrs member.
winegstreamer/video_decoder: Change decoder attributes.
winegstreamer/video_decoder: Set input/output infos in h264_decoder_create.
winegstreamer: Implement mf_media_type_to_wg_format_video_wmv.
winegstreamer: Introduce new wg_transform_create_quartz helper.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5508
Is this stalled because of the importer struct?
It's intended to preserve the behavior of relay/snoop w.r.t. dynamically resolved procedures (GetProcAddress). I'll drop it if the backwards compatibility is unnecessary.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7#note_69007
First part of Proton shared memory series. The full branch can be seen at https://gitlab.winehq.org/rbernon/wine/-/commits/mr/shared-memories.
--
v31: win32u: Use the desktop shared data for GetCursorPos.
server: Move the last cursor time to the desktop session object.
server: Move the cursor position to the desktop session object.
win32u: Open desktop shared objects from session mapping.
server: Return the desktop object info in get_thread_desktop.
server: Allocate shared session object for desktops.
win32u: Open the global session shared mapping.
include: Add ReadNoFence64 inline helpers.
server: Create a global session shared mapping.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3103
ucrtbase._mbsncpy_s is used by Marvel vs Capcom when trying to create multiplayer lobby.
The functions are also present in msvcrt (unlike msvcr70, msvcr71) where I didn't add it because it behaves differently: there is at least one weirdness when it doubles the number of characters to copy ('n' parameter, not buffer size). I suppose we don't need to explore and deal with this specific until something needs those functions from msvcrt.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5547
On Sat Apr 13 23:12:20 2024 +0000, Isaac Marovitz wrote:
> I've tried to add the necessary changes based on what I saw for
> `NtQueueApcThread()`, but the compiler isn't happy. Not sure what I'm missing.
you probably just need to run ./tools/make_specfiles
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5497#note_68972