diff --git a/patches/oleaut32-CreateTypeLib/0001-oleaut32-Implement-semi-stub-for-CreateTypeLib.patch b/patches/oleaut32-CreateTypeLib/0001-oleaut32-Implement-semi-stub-for-CreateTypeLib.patch new file mode 100644 index 00000000..28bbdc44 --- /dev/null +++ b/patches/oleaut32-CreateTypeLib/0001-oleaut32-Implement-semi-stub-for-CreateTypeLib.patch @@ -0,0 +1,43 @@ +From c82a7265f3a5fa9114c7881fba3047aae960340a Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Wed, 2 Sep 2015 13:09:34 +1000 +Subject: oleaut32: Implement semi-stub for CreateTypeLib. + +--- + dlls/oleaut32/typelib.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c +index 2a24b79..4066d03 100644 +--- a/dlls/oleaut32/typelib.c ++++ b/dlls/oleaut32/typelib.c +@@ -424,11 +424,21 @@ HRESULT WINAPI QueryPathOfRegTypeLib( REFGUID guid, WORD wMaj, WORD wMin, LCID l + * Success: S_OK + * Failure: Status + */ +-HRESULT WINAPI CreateTypeLib( +- SYSKIND syskind, LPCOLESTR szFile, ICreateTypeLib** ppctlib +-) { +- FIXME("(%d,%s,%p), stub!\n",syskind,debugstr_w(szFile),ppctlib); +- return E_FAIL; ++HRESULT WINAPI CreateTypeLib(SYSKIND syskind, LPCOLESTR file, ICreateTypeLib **ctlib) ++{ ++ ICreateTypeLib2 *typelib2; ++ HRESULT hres; ++ ++ FIXME("(%d, %s, %p): forwarding to CreateTypeLib2\n", syskind, debugstr_w(file), ctlib); ++ ++ hres = CreateTypeLib2(syskind, file, &typelib2); ++ if(SUCCEEDED(hres)) ++ { ++ hres = ICreateTypeLib2_QueryInterface(typelib2, &IID_ICreateTypeLib, (void **)&ctlib); ++ ICreateTypeLib2_Release(typelib2); ++ } ++ ++ return hres; + } + + /****************************************************************************** +-- +2.7.0 + diff --git a/patches/oleaut32-CreateTypeLib/definition b/patches/oleaut32-CreateTypeLib/definition new file mode 100644 index 00000000..08020693 --- /dev/null +++ b/patches/oleaut32-CreateTypeLib/definition @@ -0,0 +1 @@ +Fixes: [!8780] Forward CreateTypeLib to CreateTypeLib2 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 1a26f005..4c0a51ed 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -240,6 +240,7 @@ patch_enable_all () enable_nvcuvid_CUDA_Video_Support="$1" enable_nvencodeapi_Video_Encoder="$1" enable_ole32_CoGetApartmentType="$1" + enable_oleaut32_CreateTypeLib="$1" enable_oleaut32_TKIND_COCLASS="$1" enable_oleaut32_x86_64_Marshaller="$1" enable_openal32_EFX_Extension="$1" @@ -861,6 +862,9 @@ patch_enable () ole32-CoGetApartmentType) enable_ole32_CoGetApartmentType="$2" ;; + oleaut32-CreateTypeLib) + enable_oleaut32_CreateTypeLib="$2" + ;; oleaut32-TKIND_COCLASS) enable_oleaut32_TKIND_COCLASS="$2" ;; @@ -5206,6 +5210,21 @@ if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then ) >> "$patchlist" fi +# Patchset oleaut32-CreateTypeLib +# | +# | This patchset fixes the following Wine bugs: +# | * [#8780] Forward CreateTypeLib to CreateTypeLib2 +# | +# | Modified files: +# | * dlls/oleaut32/typelib.c +# | +if test "$enable_oleaut32_CreateTypeLib" -eq 1; then + patch_apply oleaut32-CreateTypeLib/0001-oleaut32-Implement-semi-stub-for-CreateTypeLib.patch + ( + echo '+ { "Alistair Leslie-Hughes", "oleaut32: Implement semi-stub for CreateTypeLib.", 1 },'; + ) >> "$patchlist" +fi + # Patchset oleaut32-TKIND_COCLASS # | # | This patchset fixes the following Wine bugs: