We need to memmove 11 bytes, otherwise `buffer[10]` ends up as a copy of
`buffer[9]` which resulted in the second byte of button state being
wrongly re-used as a third byte as well.
The original code did not suffer from this - while the length check was
also one off, and likely informed the one off memmove, the buffer
pointer was just incremented so everything "moved" correctly.
Fixes: c708295ed6de ("winebus: Move Sony controllers report fixups to PE side.")<br/>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56883<br/>
Signed-off-by: Arkadiusz Hiler \<ahiler(a)codeweavers.com\></br>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8680
--
v45: wintypes: Add stubs for IIterable<IKeyValuePair<HSTRING, IInspectable *>> to PropertySet.
wintypes: Add stubs for IMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IObservableMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for Windows.Foundation.Collections.PropertySet.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6766
This reverts commit 00211db0d08d60ee9a0e40206bf7cf9b5b88987b, which
introduced a lot of test failures and is taking some time to be
reworked properly.
--
v2: mmdevapi/tests: Mark a wrong error code by IsFormatSupported() as todo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8662
See also the linked bug report, but the short description is that some wine-only fake device was removed at some point, and winecfg's audio tab was never updated to handle that situation. This MR fixes that problem by using real devices and filling in some data structures to make that work.
I'm marking this as a draft so that others can suggest improvements or alternatives, as I'm not sure if this means of doing it is acceptable to Wine.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58204
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8679