diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 7ccf4d96..cfba97c4 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -289,6 +289,7 @@ patch_enable_all () enable_user32_Implement_CascadeWindows="$1" enable_user32_LR_LOADFROMFILE="$1" enable_user32_ListBox_Size="$1" + enable_user32_LoadKeyboardLayoutEx="$1" enable_user32_MessageBox_WS_EX_TOPMOST="$1" enable_user32_Mouse_Message_Hwnd="$1" enable_user32_Refresh_MDI_Menus="$1" @@ -993,6 +994,9 @@ patch_enable () user32-ListBox_Size) enable_user32_ListBox_Size="$2" ;; + user32-LoadKeyboardLayoutEx) + enable_user32_LoadKeyboardLayoutEx="$2" + ;; user32-MessageBox_WS_EX_TOPMOST) enable_user32_MessageBox_WS_EX_TOPMOST="$2" ;; @@ -6069,6 +6073,21 @@ if test "$enable_user32_ListBox_Size" -eq 1; then ) >> "$patchlist" fi +# Patchset user32-LoadKeyboardLayoutEx +# | +# | This patchset fixes the following Wine bugs: +# | * [#28170] user32: Added LoadKeyboardLayoutEx stub. +# | +# | Modified files: +# | * dlls/user32/input.c, dlls/user32/user32.spec +# | +if test "$enable_user32_LoadKeyboardLayoutEx" -eq 1; then + patch_apply user32-LoadKeyboardLayoutEx/0001-user32-Added-LoadKeyboardLayoutEx-stub.patch + ( + printf '%s\n' '+ { "Austin English", "user32: Added LoadKeyboardLayoutEx stub.", 1 },'; + ) >> "$patchlist" +fi + # Patchset user32-MessageBox_WS_EX_TOPMOST # | # | Modified files: diff --git a/patches/user32-LoadKeyboardLayoutEx/0001-user32-Added-LoadKeyboardLayoutEx-stub.patch b/patches/user32-LoadKeyboardLayoutEx/0001-user32-Added-LoadKeyboardLayoutEx-stub.patch new file mode 100644 index 00000000..c52beb85 --- /dev/null +++ b/patches/user32-LoadKeyboardLayoutEx/0001-user32-Added-LoadKeyboardLayoutEx-stub.patch @@ -0,0 +1,47 @@ +From 4e0be5a53f3a87285973ca032358b81c0c3126c5 Mon Sep 17 00:00:00 2001 +From: Austin English +Date: Mon, 1 Jul 2019 09:17:31 +1000 +Subject: [PATCH] user32: Added LoadKeyboardLayoutEx stub. + +Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=28170 +--- + dlls/user32/input.c | 9 +++++++++ + dlls/user32/user32.spec | 2 +- + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/dlls/user32/input.c b/dlls/user32/input.c +index 8b2ae805aa..a789108a86 100644 +--- a/dlls/user32/input.c ++++ b/dlls/user32/input.c +@@ -1017,6 +1017,15 @@ HKL WINAPI LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags) + return ret; + } + ++/*********************************************************************** ++ * LoadKeyboardLayoutEx (USER32.@) ++ */ ++HKL WINAPI LoadKeyboardLayoutEx(DWORD unknown, const WCHAR *locale, UINT flags) ++{ ++ FIXME("(%d, %s, %x) semi-stub!\n", unknown, debugstr_w(locale), flags); ++ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); ++ return LoadKeyboardLayoutW(locale, flags); ++} + + /*********************************************************************** + * UnloadKeyboardLayout (USER32.@) +diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec +index f9a4ae26df..6d70df366e 100644 +--- a/dlls/user32/user32.spec ++++ b/dlls/user32/user32.spec +@@ -496,7 +496,7 @@ + @ stdcall LoadImageA(long str long long long long) + @ stdcall LoadImageW(long wstr long long long long) + @ stdcall LoadKeyboardLayoutA(str long) +-# @ stub LoadKeyboardLayoutEx ++@ stdcall LoadKeyboardLayoutEx(long wstr long) + @ stdcall LoadKeyboardLayoutW(wstr long) + @ stdcall LoadLocalFonts() + @ stdcall LoadMenuA(long str) +-- +2.17.1 + diff --git a/patches/user32-LoadKeyboardLayoutEx/definition b/patches/user32-LoadKeyboardLayoutEx/definition new file mode 100644 index 00000000..6e340e77 --- /dev/null +++ b/patches/user32-LoadKeyboardLayoutEx/definition @@ -0,0 +1 @@ +Fixes: [28170] user32: Added LoadKeyboardLayoutEx stub.