--
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
Wayland has 3 types of scrolling events:
- axis. Used for e.g., touchpad 2 finger smooth scrolling
- axis_discrete. Used for mouse scroll wheels (i.e., notches)
- axis_value120. Used for high resolution input devices
Wine currently only supports axis_discrete, meaning that
2 finger scroll events get ignored.
This commit tries to add basic support for axis scrolling events,
by translating the smooth motion in scroll increments using some
primitive assumptions about line height and number of lines to scroll.
--
v11: wip! winewayland.drv: Try to support smooth scroll events
https://gitlab.winehq.org/wine/wine/-/merge_requests/4809
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