The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the `IWinePropertySetImpl` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v15: wintypes: Add stubs for IKeyValuePair<HSTRING, IInspectable *>.
wintypes: Add stubs for IIterator<IKeyValuePair<HSTRING, IInspectable *>>.
wintypes: Add stubs for IMapView<HSTRING, IInspectable *>.
wintypes: Add IIterable<IKeyValuePair<HSTRING, IInspectable *>> stubs to PropertySet implementation
wintypes: Add IObservableMap<HSTRING, IInspectable *> and stubs to PropertySet implementation.
wintypes: Add IMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6766
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the `IWinePropertySetImpl` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v14:
https://gitlab.winehq.org/wine/wine/-/merge_requests/6766
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the `IWinePropertySetImpl` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v13: wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
wintypes: Implement IMap methods HasKey, get_Count, Remove, GetView for PropertySet.
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/6766
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the `IWinePropertySetImpl` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v12: wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
wintypes: Implement IMap method GetView() for PropertySet.
wintypes: Implement IMap methods HasKey, get_Count and Remove for PropertySet.
wintypes: Implement IMap method Clear() for PropertySet.
wintypes: Implement IMap methods Insert() and Lookup() for PropertySet.
wintypes: Implement adding/removing IMapChangedEventHandlers for IObservableMap<HSTRING, IInspectable *>.
wintypes: Add stubs for IKeyValuePair<HSTRING, IInspectable *>.
wintypes: Add stubs for IIterator<IKeyValuePair<HSTRING, IInspectable *>>.
wintypes: Add stubs for IMapView<HSTRING, IInspectable *>.
wintypes: Add IObservableMap<HSTRING, IInspectable *> and IIterable<IKeyValuePair<HSTRING, IInspectable *>> stubs to PropertySet implementation.
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/6766
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the `IWinePropertySetImpl` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v11: wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
wintypes: Implement IMap method GetView() for PropertySet.
wintypes: Implement IMap methods HasKey, get_Count and Remove for PropertySet.
wintypes: Implement IMap method Clear() for PropertySet.
wintypes: Implement IMap methods Insert() and Lookup() for PropertySet.
wintypes: Implement adding/removing IMapChangedEventHandlers for IObservableMap<HSTRING, IInspectable *>.
wintypes: Add stubs for IKeyValuePair<HSTRING, IInspectable *>.
wintypes: Add stubs for IIterator<IKeyValuePair<HSTRING, IInspectable *>>.
wintypes: Add stubs for IMapView<HSTRING, IInspectable *>.
wintypes: Add IIterable<IKeyValuePair<HSTRING, IInspectable *>> stubs to PropertySet implementation.
wintypes: Add IObservableMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
wintypes: Add IMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
wintypes: Add stub for Windows.Foundation.Collections.PropertySet.
wintypes/test: Add conformance tests for Windows.Foundation.Collections.PropertySet.
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/6766
This is an alternate solution to MR 6761 [1]
(actually is based on comment in that MR).
WriteProcessMemory() should succeed when process handle doesn't have
PROCESS_QUERY_INFORMATION access right set (test attached).
Plus some additional cleanup in test for ReadProcessMemory().
Feedback from Proton says that this patch solves the reported game issue.
[1] https://gitlab.winehq.org/wine/wine/-/merge_requests/6761
--
v4: server: Amend process rights mapping.
advapi32: Test some other cases of process access rights mapping.
advapi32/tests: Fix typo in manifest constant.
kernel32/tests: Don't hardcode page size in buffer size.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6767
This is an alternate solution to MR 6761 [1]
(actually is based on comment in that MR).
WriteProcessMemory() should succeed when process handle doesn't have
PROCESS_QUERY_INFORMATION access right set (test attached).
Plus some additional cleanup in test for ReadProcessMemory().
Feedback from Proton says that this patch solves the reported game issue.
[1] https://gitlab.winehq.org/wine/wine/-/merge_requests/6761
--
v3: server: Amend process rights mapping.
advapi32: Test some other cases of process access rights mapping.
advapi32/tests: Fix typo in manifest constant.
kernel32/tests: Don't hardcode page size in buffer size.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6767
This is an alternate solution to MR 6761 [1]
(actually is based on comment in that MR).
WriteProcessMemory() should succeed when process handle doesn't have
PROCESS_QUERY_INFORMATION access right set (test attached).
Plus some additional cleanup in test for ReadProcessMemory().
Feedback from Proton says that this patch solves the reported game issue.
[1] https://gitlab.winehq.org/wine/wine/-/merge_requests/6761
--
v2: server: Amend process rights mapping.
ntdll/tests: Add tests for NtQueryVirtualMemory.
kernel32/tests: Don't hardcode page size in buffer size.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6767
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the `IWinePropertySetImpl` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v10: dlls/wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
dlls/wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
dlls/wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
dlls/wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
dlls/wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
dlls/wintypes: Implement IMap method GetView() for PropertySet.
dlls/wintypes: Implement IMap methods HasKey, get_Count and Remove for PropertySet.
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/6766
Use raw URI as absolute URI for now. To make it fully compliant with RFC 3986 and 3987, we need to
implement a parser and reconstruct the absolute URI from parts.
For React Native.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6773
Please keep merge requests small and each commit atomic, ~5 patches or so for an MR would be best. Each MR should ideally have its corresponding tests. That will help with the reviewing. Note that there are CI build failures. You will need to address that as well.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6766#note_86591
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the \``IWinePropertySetImpl`\` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v8: dlls/wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
dlls/wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
dlls/wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
dlls/wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
dlls/wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
dlls/wintypes: Implement IMap method GetView() for PropertySet.
dlls/wintypes: Implement IMap methods HasKey, get_Count and Remove for PropertySet.
dlls/wintypes: Implement IMap method Clear() for PropertySet.
dlls/wintypes: Implement IMap methods Insert() and Lookup() for PropertySet.
dlls/wintypes: Implement adding/removing IMapChangedEventHandlers for IObservableMap<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IKeyValuePair<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IIterator<IKeyValuePair<HSTRING, IInspectable *>>.
dlls/wintypes: Add stubs for IMapView<HSTRING, IInspectable *>.
dlls/wintypes: Add IIterable<IKeyValuePair<HSTRING, IInspectable *>> stubs to PropertySet implementation.
dlls/wintypes: Add IObservableMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
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/6766
Use the unicode interface by default and return the same value
as before this change.
There are a few locations, that called W->A. It will return the
same value as before for the Ansi version but the unicode one will
now report an error.
--
v2: dplayx: Merge IDirectPlayLobby3A into IDirectPlayLobby3
https://gitlab.winehq.org/wine/wine/-/merge_requests/6481
This MR is the first of multiples MRs adding support for the Bluetooth stack API in Wine:
1. The winebth.sys driver, which talks to BlueZ and implements several key IOCTLs for communicating with Bluetooth devices and radios.
2. A bthserv service, which is responsible for keeping track of the authentication agent, and relaying authentication requests and responses to and from the driver.
3. Userspace APIs (bluetoothapis.dll, bthprops.cpl, Windows.Devices.Bluetooth, etc).
winebth.sys is split into two "sub" drivers:
`winebth.sys`: The main entrypoint, loaded by winedevice. It listens for changes to Bluetooth devices and radios and authentication events on BlueZ, passing them on the bthenum. It also handles most IOCTL operations on Bluetooth radio PDOs.
`bthenum`: Responsible for creating nodes for discovered Bluetooth devices and associated services. It also tries to validate any IOCTLs relating to bluetooth devices before passing them to winebth.sys. (Not in this MR, likely in part 2)
The unix code is split between dbus.c, unixlib.c and winebluetooth.c, where winebluetooth is a simple wrapper around unixlib for the sake of organization.
--
v32: dlls/winebth.sys: Register and enable BTHPORT_DEVICE and BLUETOOTH_RADIO interfaces for radio PDOs.
dlls/winebth.sys: Derive a unique hardware ID for radio PDOs from their corresponding BlueZ object path.
dlls/winebth.sys: Create radio PDOs from the list of org.bluez.Adapter1 objects on BlueZ.
dlls/winebth.sys: Add a basic unixlib stub using DBus.
dlls/winebth.sys: Add base winebth.sys driver.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6621
This is an alternate solution to MR 6761 [1]
(actually is based on comment in that MR).
WriteProcessMemory() should succeed when process handle doesn't have
PROCESS_QUERY_INFORMATION access right set (test attached).
Plus some additional cleanup in test for ReadProcessMemory().
Feedback from Proton says that this patch solves the reported game issue.
[1] https://gitlab.winehq.org/wine/wine/-/merge_requests/6761
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6767
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the \``IWinePropertySetImpl`\` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v5: dlls/wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
dlls/wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
dlls/wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
dlls/wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
dlls/wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
dlls/wintypes: Implement IMap method GetView() for PropertySet.
dlls/wintypes: Implement IMap methods HasKey, get_Count and Remove for PropertySet.
dlls/wintypes: Implement IMap method Clear() for PropertySet.
dlls/wintypes: Implement IMap methods Insert() and Lookup() for PropertySet.
dlls/wintypes: Implement adding/removing IMapChangedEventHandlers for IObservableMap<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IKeyValuePair<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IIterator<IKeyValuePair<HSTRING, IInspectable *>>.
dlls/wintypes: Add stubs for IMapView<HSTRING, IInspectable *>.
dlls/wintypes: Add IIterable<IKeyValuePair<HSTRING, IInspectable *>> stubs to PropertySet implementation.
dlls/wintypes: Add IObservableMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
dlls/wintypes: Add IMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
dlls/wintypes: Add stub for Windows.Foundation.Collections.PropertySet.
dlls/wintypes/test: Add conformance tests for Windows.Foundation.Collections.PropertySet.
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/6766
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the \``IWinePropertySetImpl`\` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v4: dlls/wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
dlls/wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
dlls/wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
dlls/wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
dlls/wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
dlls/wintypes: Implement IMap method GetView() for PropertySet.
dlls/wintypes: Implement IMap methods HasKey, get_Count and Remove for PropertySet.
dlls/wintypes: Implement IMap method Clear() for PropertySet.
dlls/wintypes: Implement IMap methods Insert() and Lookup() for PropertySet.
dlls/wintypes: Implement adding/removing IMapChangedEventHandlers for IObservableMap<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IKeyValuePair<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IIterator<IKeyValuePair<HSTRING, IInspectable *>>.
dlls/wintypes: Add stubs for IMapView<HSTRING, IInspectable *>.
dlls/wintypes: Add IIterable<IKeyValuePair<HSTRING, IInspectable *>> stubs to PropertySet implementation.
dlls/wintypes: Add IObservableMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
dlls/wintypes: Add IMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
dlls/wintypes: Add stub for Windows.Foundation.Collections.PropertySet.
dlls/wintypes/test: Add conformance tests for Windows.Foundation.Collections.PropertySet.
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/6766
--
v2: include: Fix wmemchr C++ warning.
include: Fix InlineIsEqualGUID C++ warning.
include: Add some _BitScanForward(64) declarations in intrin.h.
include: Add a __shiftright128 intrinsic definition.
include: Add a _umul128 intrinsic definition.
include: Move FILE_DISPOSITION_INFO after DeleteFile(A|W).
include: Add a MB_CUR_MAX definition in ctype.h.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6752
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, the \``IWinePropertySetImpl`\` implementation can be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v3: dlls/wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
dlls/wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
dlls/wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
dlls/wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
dlls/wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
dlls/wintypes: Implement IMap method GetView() for PropertySet.
dlls/wintypes: Implement IMap methods HasKey, get_Count and Remove for PropertySet.
dlls/wintypes: Implement IMap method Clear() for PropertySet.
dlls/wintypes: Implement IMap methods Insert() and Lookup() for PropertySet.
dlls/wintypes: Implement adding/removing IMapChangedEventHandlers for IObservableMap<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IKeyValuePair<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IIterator<IKeyValuePair<HSTRING, IInspectable *>>.
dlls/wintypes: Add stubs for IMapView<HSTRING, IInspectable *>.
dlls/wintypes: Add IIterable<IKeyValuePair<HSTRING, IInspectable *>> stubs to PropertySet implementation.
dlls/wintypes: Add IObservableMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
dlls/wintypes: Add IMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
dlls/wintypes: Add stub for Windows.Foundation.Collections.PropertySet.
dlls/wintypes/test: Add conformance tests for Windows.Foundation.Collections.PropertySet.
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/6766
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, this could be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
v2: dlls/wintypes: Implement IMapView methods get_Size, HasKey, Lookup, Split for PropertySet.
dlls/wintypes: Invoke MapChanged event handlers from PropertSet on entry removal and Clear().
dlls/wintypes: Invoke MapChanged event handlers from PropertySet on insertion.
dlls/wintypes: Implement get_Current() for the IIterator implementation obtained from PropertySet.
dlls/wintypes: Implement IIterator methods MoveNext() and get_HasCurrent() for PropertySet.
dlls/wintypes: Implement IMap method GetView() for PropertySet.
dlls/wintypes: Implement IMap methods HasKey, get_Count and Remove for PropertySet.
dlls/wintypes: Implement IMap method Clear() for PropertySet.
dlls/wintypes: Implement IMap methods Insert() and Lookup() for PropertySet.
dlls/wintypes: Implement adding/removing IMapChangedEventHandlers for IObservableMap<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IKeyValuePair<HSTRING, IInspectable *>.
dlls/wintypes: Add stubs for IIterator<IKeyValuePair<HSTRING, IInspectable *>>.
dlls/wintypes: Add stubs for IMapView<HSTRING, IInspectable *>.
dlls/wintypes: Add IIterable<IKeyValuePair<HSTRING, IInspectable *>> stubs to PropertySet implementation.
dlls/wintypes: Add IObservableMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
dlls/wintypes: Add IMap<HSTRING, IInspectable *> stubs to PropertySet implementation.
dlls/wintypes: Add stub for Windows.Foundation.Collections.PropertySet.
dlls/wintypes/test: Add conformance tests for Windows.Foundation.Collections.PropertySet.
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/6766
The implementation is backed by a smaller `IWinePropertySetImpl` interface for core operations (insertion, lookup, removal, iteration), which currently uses an `rb_tree` to store `HSTRING`-`IInspectable *` value pairs.
If needed, this could be later swapped out with a hash table for performance reasons, as `PropertySet` does not have an enumeration order guarantee, at least according to the MSDN docs.
--
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/6766
Let the sub-process be created, without implementing any additional
behavior from these flags.
Native cmd.exe uses this flag when spawning itself again for handling
builtin commands inside a pipe.
Signed-off-by: Eric Pouech <epouech(a)codeweavers.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6764
This has been tested with VRChat in Proton, and with one change to `IMFMediaEngine` and some small changes to winegstreamer it is able to play YouTube videos in Unity video player based players. The AVPro based players have many more issues, because that API uses YouTube's HLS files instead of the direct MP4 links, and new media source would need many fixes to be able to play HLS correctly. Which it isn't supposed to do anyway since that's the `IMFMediaEngine`'s job.
There are some things that I did not implement:
- `IMFByteStreamBuffering::SetBufferingParams`, the parameters don't have any obvious effect on the functionality of the byte stream or the HTTP requests it makes. It's probably not used by anything anyway.
- How much data has to be pre-buffered before it considers buffering to be complete and sends `MEBufferingStopped`. I didn't put much time into this and just chose 64 KiB.
- Persistent caching of downloaded data; Native seems to be able to omit redownloading data it has previously downloaded before by using the `If-Modified-Since` header. This seems like more work and unnecessary complexity than it's worth.
- Mapping of all the WinHTTP errors to HRESULTs; HTTP status codes are handled, as well as the most common `ERROR_WINHTTP_*` values, but anything else just goes through `HRESULT_FROM_WIN32`. I don't even know how to trigger most of the WinHTTP errors; It's probably fine, the most important info is just that there has been an error anyway.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6733
FWIW, as far as I'm concerned, this or a similar patch should probably still be merged, to fix the wow64 stub. It basically just comes down to the approach to fix it. If anyone gets a chance to look at this let me know.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6584#note_86467
This fixes one of the regression with ShellExecute when using a full patch and an executable without an extension.
--
v4: shell32: Allow FindExecutables to find unix files.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6285
On Sat Nov 2 08:52:23 2024 +0000, Zhiyi Zhang wrote:
> This `else` branch should never get executed because only the
> test_WM_NOTIFY() test sends a WM_NOTIFY with TEST_WM_NOTIFY_CODE. So you
> can delete this branch.
`else` branch will be executed if WM_NOTIFY message gets forwarded twice by buggy non-test code
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6737#note_86464
Zhiyi Zhang (@zhiyi) commented about dlls/comctl32/tests/toolbar.c:
>
> return 0;
> }
> + case TEST_WM_NOTIFY_CODE:
> + if (expecting_test_WM_NOTIFY)
> + {
> + ok(hdr == &test_WM_NOTIFY_nmhdr, "Got unexpected header.\n");
> + ok(wParam == TEST_WM_NOTIFY_IDFROM, "Got unexpected wParam 0x%Ix.\n", wParam);
> + }
> + else
This `else` branch should never get executed because only the test_WM_NOTIFY() test sends a WM_NOTIFY with TEST_WM_NOTIFY_CODE. So you can delete this branch.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6737#note_86459
This MR contains a set of patches that move away from using `D3DFORMAT` inside of `struct d3dx_image`. This will allow us to support formats that do not have a direct mapping to `D3DFORMAT`, and eventually once we share code with d3dx10/d3dx11 formats that do not have a direct mapping to `DXGI_FORMAT`.
I've pushed a branch [here](https://gitlab.winehq.org/cmcadams/wine/-/tree/UPSTREAM/d3dx9-new-fmt… containing patches that actually use this new internal format system in practice. I would've included those in this MR, but that seemed like it'd make for a rather large MR. Hopefully splitting it this way makes it easier to review. :)
--
v2: d3dx9: Use the d3dx_pixel_format_id enumeration inside of the WIC pixel format lookup structure.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the DDS pixel format lookup structure.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6746
This MR contains a set of patches that move away from using `D3DFORMAT` inside of `struct d3dx_image`. This will allow us to support formats that do not have a direct mapping to `D3DFORMAT`, and eventually once we share code with d3dx10/d3dx11 formats that do not have a direct mapping to `DXGI_FORMAT`.
I've pushed a branch [here](https://gitlab.winehq.org/cmcadams/wine/-/tree/UPSTREAM/d3dx9-new-fmt… containing patches that actually use this new internal format system in practice. I would've included those in this MR, but that seemed like it'd make for a rather large MR. Hopefully splitting it this way makes it easier to review. :)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6746
I added a new test method, please tell me if I should merge that into an existing one, but as far as I understood, there is no tests for the querying yet.
--
v3: wbemprox: Add property "ExecutablePath" to Win32_Process
wbemprox/tests: Add test for Win32_Process querying "ExecutablePath" propery
https://gitlab.winehq.org/wine/wine/-/merge_requests/6734
On Thu Oct 31 10:21:42 2024 +0000, Alanas wrote:
> do `ok`s in
> ```c
> case forward_test_code:
> if (forward_test)
> {
> ok(hdr == &forward_test_nmhdr, "Got unexpected header.\n");
> ok(wParam == forward_test_idFrom, "Got unexpected wParam
> 0x%Ix.\n", wParam);
> }
> else
> {
> ok(FALSE, "Got unexpected WM_NOTIFY.\n");
> }
> forward_test = FALSE;
> return forward_test_return;
> ```
> need to be replaced with `todo_wine ok`?
> they get passed 1 in first argument in windows and never run in wine
> without editing `dlls/comctl32/toolbar.c`
If these ok() in parent_wnd_notify() don't have failures before your fix, then you don't need to add todo_wines in parent_wnd_notify().
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6737#note_86364
On Thu Oct 31 09:39:11 2024 +0000, Zhiyi Zhang wrote:
> Put the todo_wine before each ok() statement in test_WM_NOTIFY() instead.
do `ok`s in
```c
case forward_test_code:
if (forward_test)
{
ok(hdr == &forward_test_nmhdr, "Got unexpected header.\n");
ok(wParam == forward_test_idFrom, "Got unexpected wParam 0x%Ix.\n", wParam);
}
else
{
ok(FALSE, "Got unexpected WM_NOTIFY.\n");
}
forward_test = FALSE;
return forward_test_return;
```
need to be replaced with `todo_wine ok`?
they get passed 1 in first argument in windows and never run in wine without editing `dlls/comctl32/toolbar.c`
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6737#note_86362
This starts using MDT_RAW_DPI in the drivers, and provides the necessary raw/virt monitor information to wineserver. For now, this should not change much, as MDT_RAW_DPI is still the same as MDT_DEFAULT_DPI, but later it will return the DPI of the physical mode while MDT_DEFAULT_DPI will return a DPI for the possibly virtualized current display mode.
--
v2: server: Use the monitor infos to compute the virtual screen rect.
win32u: Inform wineserver about the winstation monitors.
win32u: Move some monitor info getter code around.
win32u: Use MDT_RAW_DPI monitor DPI type in the drivers.
win32u: Implement get_win_monitor_dpi.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6743
Zhiyi Zhang (@zhiyi) commented about dlls/comctl32/tests/toolbar.c:
> test_drawtext_flags();
> test_imagelist();
> test_BTNS_SEP();
> + todo_wine test_WM_NOTIFY();
Put the todo_wine before each ok() statement in test_WM_NOTIFY() instead.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6737#note_86359