This allows the game Nickelodeon All-Star Brawl to run.
Proton-Issue: https://github.com/ValveSoftware/Proton/issues/5198 Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- v2: - Use HeapFree to free the WINUSB_INTERFACE_HANDLE.
This should be fine, right? There are similar functions using HeapFree or heap_free in the codebase. --- dlls/winusb/Makefile.in | 5 +++++ dlls/winusb/main.c | 37 +++++++++++++++++++++++++++++++++++++ dlls/winusb/winusb.spec | 2 +- 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 dlls/winusb/main.c
diff --git a/dlls/winusb/Makefile.in b/dlls/winusb/Makefile.in index c8cab4dbed9..b6f01a1346c 100644 --- a/dlls/winusb/Makefile.in +++ b/dlls/winusb/Makefile.in @@ -1 +1,6 @@ MODULE = winusb.dll + +EXTRADLLFLAGS = -Wb,--prefer-native + +C_SRCS = \ + main.c diff --git a/dlls/winusb/main.c b/dlls/winusb/main.c new file mode 100644 index 00000000000..bed7e5c3d62 --- /dev/null +++ b/dlls/winusb/main.c @@ -0,0 +1,37 @@ +/* + * Copyright 2022 Mohamad Al-Jaf + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdarg.h> + +#include "windef.h" +#include "winbase.h" +#include "winusb.h" + +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(usb); + +/*********************************************************************** + * WinUsb_Free (winusb.@) + */ +BOOL WINAPI WinUsb_Free(WINUSB_INTERFACE_HANDLE handle) +{ + FIXME( "(%p) - semi-stub\n", handle ); + if (handle) HeapFree( GetProcessHeap(), 0, handle ); + return TRUE; +} diff --git a/dlls/winusb/winusb.spec b/dlls/winusb/winusb.spec index 09371e9ee46..a0b57d58096 100644 --- a/dlls/winusb/winusb.spec +++ b/dlls/winusb/winusb.spec @@ -1,7 +1,7 @@ @ stub WinUsb_AbortPipe @ stub WinUsb_ControlTransfer @ stub WinUsb_FlushPipe -@ stub WinUsb_Free +@ stdcall WinUsb_Free(ptr) @ stub WinUsb_GetAssociatedInterface @ stub WinUsb_GetCurrentAlternateSetting @ stub WinUsb_GetDescriptor