diff --git a/patches/atl-AtlAxDialogBox/0001-atl-Implement-AtlAxDialogBox-A-W.patch b/patches/atl-AtlAxDialogBox/0001-atl-Implement-AtlAxDialogBox-A-W.patch deleted file mode 100644 index 37311a59..00000000 --- a/patches/atl-AtlAxDialogBox/0001-atl-Implement-AtlAxDialogBox-A-W.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 452c42b4855e2f6338fa9b8746377ff9fe9ee706 Mon Sep 17 00:00:00 2001 -From: Qian Hong -Date: Wed, 23 Apr 2014 04:16:53 +0800 -Subject: [PATCH] atl: Implement AtlAxDialogBox[A,W] - -Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=32749 ---- - dlls/atl/atl_ax.c | 60 +++++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 50 insertions(+), 10 deletions(-) - -diff --git a/dlls/atl/atl_ax.c b/dlls/atl/atl_ax.c -index 8121278..92fcb84 100644 ---- a/dlls/atl/atl_ax.c -+++ b/dlls/atl/atl_ax.c -@@ -28,6 +28,7 @@ - #include "winerror.h" - #include "winuser.h" - #include "wine/debug.h" -+#include "wine/heap.h" - #include "objbase.h" - #include "objidl.h" - #include "ole2.h" -@@ -1407,25 +1408,64 @@ HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk) - } - - /*********************************************************************** -- * AtlAxDialogBoxW [atl100.35] -+ * AtlAxDialogBoxA [atl100.@] - * - */ --INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc, -- LPARAM dwInitParam) -+INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInst, LPCSTR name, HWND owner, DLGPROC dlgProc, LPARAM param) - { -- FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_w(lpTemplateName), hWndParent, lpDialogProc, dwInitParam); -- return 0; -+ INT_PTR res = 0; -+ int length; -+ WCHAR *nameW; -+ -+ if (IS_INTRESOURCE(name)) -+ return AtlAxDialogBoxW( hInst, (LPCWSTR) name, owner, dlgProc, param ); -+ -+ length = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 ); -+ nameW = heap_alloc( length * sizeof(WCHAR) ); -+ if (nameW) -+ { -+ MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, length ); -+ res = AtlAxDialogBoxW( hInst, nameW, owner, dlgProc, param ); -+ heap_free( nameW ); -+ } -+ return res; - } - - /*********************************************************************** -- * AtlAxDialogBoxA [atl100.36] -+ * AtlAxDialogBoxW [atl100.@] - * - */ --INT_PTR WINAPI AtlAxDialogBoxA(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc, -- LPARAM dwInitParam) -+INT_PTR WINAPI AtlAxDialogBoxW(HINSTANCE hInst, LPCWSTR name, HWND owner, DLGPROC dlgProc, LPARAM param) - { -- FIXME("(%p %s %p %p %lx)\n", hInstance, debugstr_a(lpTemplateName), hWndParent, lpDialogProc, dwInitParam); -- return 0; -+ HRSRC hrsrc; -+ HGLOBAL hgl; -+ LPCDLGTEMPLATEW ptr; -+ LPDLGTEMPLATEW newptr; -+ INT_PTR res; -+ -+ TRACE("(%p %s %p %p %lx)\n", hInst, debugstr_w(name), owner, dlgProc, param); -+ -+ hrsrc = FindResourceW( hInst, name, (LPWSTR)RT_DIALOG ); -+ if ( !hrsrc ) -+ return 0; -+ hgl = LoadResource (hInst, hrsrc); -+ if ( !hgl ) -+ return 0; -+ ptr = LockResource ( hgl ); -+ if (!ptr) -+ { -+ FreeResource( hgl ); -+ return 0; -+ } -+ newptr = AX_ConvertDialogTemplate( ptr ); -+ if ( newptr ) -+ { -+ res = DialogBoxIndirectParamW( hInst, newptr, owner, dlgProc, param ); -+ heap_free( newptr ); -+ } else -+ res = 0; -+ FreeResource ( hrsrc ); -+ return res; - } - - /*********************************************************************** --- -1.9.1 - diff --git a/patches/atl-AtlAxDialogBox/definition b/patches/atl-AtlAxDialogBox/definition deleted file mode 100644 index 8a7cc97c..00000000 --- a/patches/atl-AtlAxDialogBox/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [32749] atl: Implemented AtlAxDialogBox[A,W] diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index ba72341e..20209152 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -87,7 +87,6 @@ patch_enable_all () enable_Staging="$1" enable_advapi32_LsaLookupPrivilegeName="$1" enable_api_ms_win_Stub_DLLs="$1" - enable_atl_AtlAxDialogBox="$1" enable_bcrypt_ECDHSecretAgreement="$1" enable_cmd_launch_association="$1" enable_comctl32_rebar_capture="$1" @@ -312,9 +311,6 @@ patch_enable () api-ms-win-Stub_DLLs) enable_api_ms_win_Stub_DLLs="$2" ;; - atl-AtlAxDialogBox) - enable_atl_AtlAxDialogBox="$2" - ;; bcrypt-ECDHSecretAgreement) enable_bcrypt_ECDHSecretAgreement="$2" ;; @@ -1552,18 +1548,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then patch_apply api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch fi -# Patchset atl-AtlAxDialogBox -# | -# | This patchset fixes the following Wine bugs: -# | * [#32749] atl: Implemented AtlAxDialogBox[A,W] -# | -# | Modified files: -# | * dlls/atl/atl_ax.c -# | -if test "$enable_atl_AtlAxDialogBox" -eq 1; then - patch_apply atl-AtlAxDialogBox/0001-atl-Implement-AtlAxDialogBox-A-W.patch -fi - # Patchset bcrypt-ECDHSecretAgreement # | # | This patchset fixes the following Wine bugs: diff --git a/staging/upstream-commit b/staging/upstream-commit index 6331060a..6538cd49 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -3ba4412be60dafee310b5d3c71aa762aa8846564 +cda4abac9859ed42c29e8cb2746201a578431a5e