mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 0cc6233e2077c1ef679ecb8bd815d31484868294
This commit is contained in:
parent
178c0f6d74
commit
6fb7d85916
@ -1,107 +0,0 @@
|
||||
From 8a9a381c788c317f95e7e95c347459f0bc720829 Mon Sep 17 00:00:00 2001
|
||||
From: Austin English <austinenglish@gmail.com>
|
||||
Date: Wed, 24 Jan 2018 22:27:51 -0700
|
||||
Subject: [PATCH 1/2] ntdll: Add RtlAddGrowableFunctionTable stub
|
||||
|
||||
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
dlls/ntdll/signal_arm.c | 10 ++++++++++
|
||||
dlls/ntdll/signal_arm64.c | 10 ++++++++++
|
||||
dlls/ntdll/signal_x86_64.c | 12 ++++++++++++
|
||||
include/winnt.h | 2 ++
|
||||
5 files changed, 35 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 446f2a5..c488fe2 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -434,6 +434,7 @@
|
||||
@ stdcall RtlAddMandatoryAce(ptr long long long long ptr)
|
||||
# @ stub RtlAddRange
|
||||
@ cdecl -arch=arm,arm64,x86_64 RtlAddFunctionTable(ptr long long)
|
||||
+@ cdecl -arch=arm,arm64,x86_64 RtlAddGrowableFunctionTable(ptr ptr long long long long)
|
||||
@ stdcall RtlAddRefActivationContext(ptr)
|
||||
# @ stub RtlAddRefMemoryStream
|
||||
@ stdcall RtlAddVectoredContinueHandler(long ptr)
|
||||
diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c
|
||||
index da0c8fb..72087a2 100644
|
||||
--- a/dlls/ntdll/signal_arm.c
|
||||
+++ b/dlls/ntdll/signal_arm.c
|
||||
@@ -1058,6 +1058,16 @@ BOOLEAN CDECL RtlAddFunctionTable( RUNTIME_FUNCTION *table, DWORD count, DWORD a
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+/*************************************************************************
|
||||
+ * RtlAddGrowableFunctionTable (NTDLL.@)
|
||||
+ */
|
||||
+DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functions, DWORD count, DWORD max_count,
|
||||
+ ULONG_PTR base, ULONG_PTR end )
|
||||
+{
|
||||
+ FIXME( "(%p, %p, %d, %d, %ld, %ld) stub!\n", table, functions, count, max_count, base, end );
|
||||
+ if (table) *table = NULL;
|
||||
+ return S_OK;
|
||||
+}
|
||||
|
||||
/**********************************************************************
|
||||
* RtlDeleteFunctionTable (NTDLL.@)
|
||||
diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
|
||||
index 4d2d127..e072ee0 100644
|
||||
--- a/dlls/ntdll/signal_arm64.c
|
||||
+++ b/dlls/ntdll/signal_arm64.c
|
||||
@@ -976,6 +976,16 @@ BOOLEAN CDECL RtlAddFunctionTable( RUNTIME_FUNCTION *table, DWORD count, ULONG_P
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+/*************************************************************************
|
||||
+ * RtlAddGrowableFunctionTable (NTDLL.@)
|
||||
+ */
|
||||
+DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functions, DWORD count, DWORD max_count,
|
||||
+ ULONG_PTR base, ULONG_PTR end )
|
||||
+{
|
||||
+ FIXME( "(%p, %p, %d, %d, %ld, %ld) stub!\n", table, functions, count, max_count, base, end );
|
||||
+ if (table) *table = NULL;
|
||||
+ return S_OK;
|
||||
+}
|
||||
|
||||
/**********************************************************************
|
||||
* RtlDeleteFunctionTable (NTDLL.@)
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index 7228adb..b8cb0a9 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -3506,6 +3506,18 @@ BOOLEAN CDECL RtlInstallFunctionTableCallback( DWORD64 table, DWORD64 base, DWOR
|
||||
}
|
||||
|
||||
|
||||
+/*************************************************************************
|
||||
+ * RtlAddGrowableFunctionTable (NTDLL.@)
|
||||
+ */
|
||||
+DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functions, DWORD count, DWORD max_count,
|
||||
+ ULONG_PTR base, ULONG_PTR end )
|
||||
+{
|
||||
+ FIXME( "(%p, %p, %d, %d, %ld, %ld) stub!\n", table, functions, count, max_count, base, end );
|
||||
+ if (table) *table = NULL;
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+
|
||||
/**********************************************************************
|
||||
* RtlDeleteFunctionTable (NTDLL.@)
|
||||
*/
|
||||
diff --git a/include/winnt.h b/include/winnt.h
|
||||
index 742b47b..47763dd 100644
|
||||
--- a/include/winnt.h
|
||||
+++ b/include/winnt.h
|
||||
@@ -1146,6 +1146,8 @@ typedef struct _UNWIND_HISTORY_TABLE_ENTRY
|
||||
PRUNTIME_FUNCTION FunctionEntry;
|
||||
} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
|
||||
|
||||
+NTSYSAPI DWORD NTAPI RtlAddGrowableFunctionTable(void**,RUNTIME_FUNCTION*,DWORD,DWORD,ULONG_PTR,ULONG_PTR);
|
||||
+
|
||||
#define UNWIND_HISTORY_TABLE_NONE 0
|
||||
#define UNWIND_HISTORY_TABLE_GLOBAL 1
|
||||
#define UNWIND_HISTORY_TABLE_LOCAL 2
|
||||
--
|
||||
1.9.1
|
||||
|
@ -1,99 +0,0 @@
|
||||
From f8619a7dc2d8a0a80d1b7f3e2bbf52be5b201dd1 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Henrie <alexhenrie24@gmail.com>
|
||||
Date: Wed, 24 Jan 2018 22:27:52 -0700
|
||||
Subject: [PATCH 2/2] ntdll: Add RtlGrowFunctionTable stub
|
||||
|
||||
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
dlls/ntdll/signal_arm.c | 8 ++++++++
|
||||
dlls/ntdll/signal_arm64.c | 8 ++++++++
|
||||
dlls/ntdll/signal_x86_64.c | 9 +++++++++
|
||||
include/winnt.h | 1 +
|
||||
5 files changed, 27 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index c488fe2..c2e2fb1 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -684,6 +684,7 @@
|
||||
@ stdcall RtlGetUnloadEventTraceEx(ptr ptr ptr)
|
||||
@ stub RtlGetUserInfoHeap
|
||||
@ stdcall RtlGetVersion(ptr)
|
||||
+@ stdcall -arch=arm,arm64,x86_64 RtlGrowFunctionTable(ptr long)
|
||||
@ stub RtlGuidToPropertySetName
|
||||
@ stdcall RtlHashUnicodeString(ptr long long ptr)
|
||||
@ stdcall RtlIdentifierAuthoritySid(ptr)
|
||||
diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c
|
||||
index 72087a2..88914cd 100644
|
||||
--- a/dlls/ntdll/signal_arm.c
|
||||
+++ b/dlls/ntdll/signal_arm.c
|
||||
@@ -1069,6 +1069,14 @@ DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functi
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
+/*************************************************************************
|
||||
+ * RtlGrowFunctionTable (NTDLL.@)
|
||||
+ */
|
||||
+void WINAPI RtlGrowFunctionTable( void *table, DWORD count )
|
||||
+{
|
||||
+ FIXME( "(%p, %d) stub!\n", table, count );
|
||||
+}
|
||||
+
|
||||
/**********************************************************************
|
||||
* RtlDeleteFunctionTable (NTDLL.@)
|
||||
*/
|
||||
diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
|
||||
index e072ee0..3aa9539 100644
|
||||
--- a/dlls/ntdll/signal_arm64.c
|
||||
+++ b/dlls/ntdll/signal_arm64.c
|
||||
@@ -987,6 +987,14 @@ DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functi
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
+/*************************************************************************
|
||||
+ * RtlGrowFunctionTable (NTDLL.@)
|
||||
+ */
|
||||
+void WINAPI RtlGrowFunctionTable( void *table, DWORD count )
|
||||
+{
|
||||
+ FIXME( "(%p, %d) stub!\n", table, count );
|
||||
+}
|
||||
+
|
||||
/**********************************************************************
|
||||
* RtlDeleteFunctionTable (NTDLL.@)
|
||||
*/
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index b8cb0a9..cb9925b 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -3518,6 +3518,15 @@ DWORD WINAPI RtlAddGrowableFunctionTable( void **table, RUNTIME_FUNCTION *functi
|
||||
}
|
||||
|
||||
|
||||
+/*************************************************************************
|
||||
+ * RtlGrowFunctionTable (NTDLL.@)
|
||||
+ */
|
||||
+void WINAPI RtlGrowFunctionTable( void *table, DWORD count )
|
||||
+{
|
||||
+ FIXME( "(%p, %d) stub!\n", table, count );
|
||||
+}
|
||||
+
|
||||
+
|
||||
/**********************************************************************
|
||||
* RtlDeleteFunctionTable (NTDLL.@)
|
||||
*/
|
||||
diff --git a/include/winnt.h b/include/winnt.h
|
||||
index 47763dd..cc5cc94 100644
|
||||
--- a/include/winnt.h
|
||||
+++ b/include/winnt.h
|
||||
@@ -1147,6 +1147,7 @@ typedef struct _UNWIND_HISTORY_TABLE_ENTRY
|
||||
} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
|
||||
|
||||
NTSYSAPI DWORD NTAPI RtlAddGrowableFunctionTable(void**,RUNTIME_FUNCTION*,DWORD,DWORD,ULONG_PTR,ULONG_PTR);
|
||||
+NTSYSAPI void NTAPI RtlGrowFunctionTable(void*,DWORD);
|
||||
|
||||
#define UNWIND_HISTORY_TABLE_NONE 0
|
||||
#define UNWIND_HISTORY_TABLE_GLOBAL 1
|
||||
--
|
||||
1.9.1
|
||||
|
@ -1,4 +0,0 @@
|
||||
Fixes: [42255] ntdll: Add RtlAddGrowableFunctionTable stub
|
||||
Fixes: ntdll: Add RtlGrowFunctionTable stub
|
||||
Depends: ntdll-RtlGetUnloadEventTraceEx
|
||||
|
@ -1,7 +1,7 @@
|
||||
From de5759f4160f1cb0d163d629ba55dc7b516dbcee Mon Sep 17 00:00:00 2001
|
||||
From d6b343754071dbf45bfaba2895d9a3e332d99390 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 21 Mar 2017 23:27:06 +0100
|
||||
Subject: ntdll: Add stub for RtlGetUnloadEventTraceEx.
|
||||
Subject: [PATCH] ntdll: Add stub for RtlGetUnloadEventTraceEx.
|
||||
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
@ -9,22 +9,22 @@ Subject: ntdll: Add stub for RtlGetUnloadEventTraceEx.
|
||||
2 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index c6f15c53ded..243ecb67ae4 100644
|
||||
index 28ad231..85897b1 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -670,6 +670,7 @@
|
||||
@@ -681,6 +681,7 @@
|
||||
# @ stub RtlGetSetBootStatusData
|
||||
@ stdcall RtlGetThreadErrorMode()
|
||||
@ stdcall RtlGetUnloadEventTrace()
|
||||
+@ stdcall RtlGetUnloadEventTraceEx(ptr ptr ptr)
|
||||
@ stub RtlGetUserInfoHeap
|
||||
@ stdcall RtlGetVersion(ptr)
|
||||
@ stub RtlGuidToPropertySetName
|
||||
@ stdcall -arch=arm,arm64,x86_64 RtlGrowFunctionTable(ptr long)
|
||||
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c
|
||||
index 8ade7525f0e..315dac2c1ea 100644
|
||||
index e80aa5e..16d2950 100644
|
||||
--- a/dlls/ntdll/rtl.c
|
||||
+++ b/dlls/ntdll/rtl.c
|
||||
@@ -1682,3 +1682,17 @@ NTSTATUS WINAPI RtlQueryPackageIdentity(HANDLE token, WCHAR *fullname, SIZE_T *f
|
||||
@@ -1688,3 +1688,17 @@ NTSTATUS WINAPI RtlQueryPackageIdentity(HANDLE token, WCHAR *fullname, SIZE_T *f
|
||||
FIXME("(%p, %p, %p, %p, %p, %p): stub\n", token, fullname, fullname_size, appid, appid_size, packaged);
|
||||
return STATUS_NOT_FOUND;
|
||||
}
|
||||
@ -43,5 +43,5 @@ index 8ade7525f0e..315dac2c1ea 100644
|
||||
+ if (trace) *trace = NULL;
|
||||
+}
|
||||
--
|
||||
2.14.1
|
||||
1.9.1
|
||||
|
||||
|
@ -1,85 +0,0 @@
|
||||
From e15e0e44bc4ca7ae8deb3b923d3566855a3acc19 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Fri, 6 Jan 2017 14:40:52 +0800
|
||||
Subject: oleaut32: Accept DISP_E_PARAMNOTFOUND for missing optional parameters
|
||||
in ITypeInfo::Invoke implementation. (v3)
|
||||
|
||||
---
|
||||
dlls/oleaut32/tests/tmarshal.c | 39 ++++++++++++++++++++++++++++++++++++++-
|
||||
dlls/oleaut32/typelib.c | 3 ++-
|
||||
2 files changed, 40 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c
|
||||
index d2b8dc92d66..eb42d16e1c0 100644
|
||||
--- a/dlls/oleaut32/tests/tmarshal.c
|
||||
+++ b/dlls/oleaut32/tests/tmarshal.c
|
||||
@@ -1363,7 +1363,7 @@ static void test_typelibmarshal(void)
|
||||
ok(!lstrcmpW(bstr, szCat), "IWidget_get_Name should have returned string \"Cat\" instead of %s\n", wine_dbgstr_w(bstr));
|
||||
SysFreeString(bstr);
|
||||
|
||||
- /* call DoSomething */
|
||||
+ /* call DoSomething without optional arguments */
|
||||
VariantInit(&vararg[0]);
|
||||
VariantInit(&vararg[1]);
|
||||
V_VT(&vararg[1]) = VT_R8;
|
||||
@@ -1378,6 +1378,43 @@ static void test_typelibmarshal(void)
|
||||
ok(V_VT(&varresult) == VT_EMPTY, "varresult should be VT_EMPTY\n");
|
||||
VariantClear(&varresult);
|
||||
|
||||
+ /* call DoSomething with optional argument set to VT_EMPTY */
|
||||
+ VariantInit(&vararg[0]);
|
||||
+ VariantInit(&vararg[1]);
|
||||
+ VariantInit(&vararg[2]);
|
||||
+ V_VT(&vararg[2]) = VT_R8;
|
||||
+ V_R8(&vararg[2]) = 3.141;
|
||||
+ dispparams.cNamedArgs = 0;
|
||||
+ dispparams.cArgs = 3;
|
||||
+ dispparams.rgdispidNamedArgs = NULL;
|
||||
+ dispparams.rgvarg = vararg;
|
||||
+ VariantInit(&varresult);
|
||||
+ hr = IDispatch_Invoke(pDispatch, DISPID_TM_DOSOMETHING, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
|
||||
+ ok_ole_success(hr, IDispatch_Invoke);
|
||||
+ ok(V_VT(&varresult) == VT_EMPTY, "varresult should be VT_EMPTY\n");
|
||||
+ VariantClear(&varresult);
|
||||
+
|
||||
+ /* call DoSomething with optional arguments set to VT_ERROR/DISP_E_PARAMNOTFOUND */
|
||||
+ VariantInit(&vararg[0]);
|
||||
+ VariantInit(&vararg[1]);
|
||||
+ VariantInit(&vararg[2]);
|
||||
+ VariantInit(&vararg[3]);
|
||||
+ V_VT(&vararg[3]) = VT_R8;
|
||||
+ V_R8(&vararg[3]) = 3.141;
|
||||
+ V_VT(&vararg[1]) = VT_ERROR;
|
||||
+ V_ERROR(&vararg[1]) = DISP_E_PARAMNOTFOUND;
|
||||
+ V_VT(&vararg[0]) = VT_ERROR;
|
||||
+ V_ERROR(&vararg[0]) = DISP_E_PARAMNOTFOUND;
|
||||
+ dispparams.cNamedArgs = 0;
|
||||
+ dispparams.cArgs = 4;
|
||||
+ dispparams.rgdispidNamedArgs = NULL;
|
||||
+ dispparams.rgvarg = vararg;
|
||||
+ VariantInit(&varresult);
|
||||
+ hr = IDispatch_Invoke(pDispatch, DISPID_TM_DOSOMETHING, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
|
||||
+ ok_ole_success(hr, IDispatch_Invoke);
|
||||
+ ok(V_VT(&varresult) == VT_EMPTY, "varresult should be VT_EMPTY\n");
|
||||
+ VariantClear(&varresult);
|
||||
+
|
||||
/* call get_State */
|
||||
dispparams.cNamedArgs = 0;
|
||||
dispparams.cArgs = 0;
|
||||
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
|
||||
index 4fdfbeb5442..c0f9937d57b 100644
|
||||
--- a/dlls/oleaut32/typelib.c
|
||||
+++ b/dlls/oleaut32/typelib.c
|
||||
@@ -7026,7 +7026,8 @@ static HRESULT WINAPI ITypeInfo_fnInvoke(
|
||||
break;
|
||||
}
|
||||
}
|
||||
- else if (src_arg)
|
||||
+ else if (src_arg && !((wParamFlags & PARAMFLAG_FOPT) &&
|
||||
+ V_VT(src_arg) == VT_ERROR && V_ERROR(src_arg) == DISP_E_PARAMNOTFOUND))
|
||||
{
|
||||
TRACE("%s\n", debugstr_variant(src_arg));
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [41488] Accept DISP_E_PARAMNOTFOUND for missing optional param in typelib implementation
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "400dd1596ab7946e68278b3f8dc7c87b898c7e9f"
|
||||
echo "0cc6233e2077c1ef679ecb8bd815d31484868294"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -218,7 +218,6 @@ patch_enable_all ()
|
||||
enable_ntdll_Pipe_SpecialCharacters="$1"
|
||||
enable_ntdll_ProcessQuotaLimits="$1"
|
||||
enable_ntdll_Purist_Mode="$1"
|
||||
enable_ntdll_RtlAddGrowableFunctionTable="$1"
|
||||
enable_ntdll_RtlCaptureStackBackTrace="$1"
|
||||
enable_ntdll_RtlCreateUserThread="$1"
|
||||
enable_ntdll_RtlGetUnloadEventTraceEx="$1"
|
||||
@ -248,7 +247,6 @@ patch_enable_all ()
|
||||
enable_ole32_HGLOBALStream="$1"
|
||||
enable_ole32_STGPROP="$1"
|
||||
enable_oleaut32_CreateTypeLib="$1"
|
||||
enable_oleaut32_ITypeInfo_fnInvoke="$1"
|
||||
enable_oleaut32_Load_Save_EMF="$1"
|
||||
enable_oleaut32_OLEPictureImpl_SaveAsFile="$1"
|
||||
enable_oleaut32_OleLoadPicture="$1"
|
||||
@ -812,9 +810,6 @@ patch_enable ()
|
||||
ntdll-Purist_Mode)
|
||||
enable_ntdll_Purist_Mode="$2"
|
||||
;;
|
||||
ntdll-RtlAddGrowableFunctionTable)
|
||||
enable_ntdll_RtlAddGrowableFunctionTable="$2"
|
||||
;;
|
||||
ntdll-RtlCaptureStackBackTrace)
|
||||
enable_ntdll_RtlCaptureStackBackTrace="$2"
|
||||
;;
|
||||
@ -902,9 +897,6 @@ patch_enable ()
|
||||
oleaut32-CreateTypeLib)
|
||||
enable_oleaut32_CreateTypeLib="$2"
|
||||
;;
|
||||
oleaut32-ITypeInfo_fnInvoke)
|
||||
enable_oleaut32_ITypeInfo_fnInvoke="$2"
|
||||
;;
|
||||
oleaut32-Load_Save_EMF)
|
||||
enable_oleaut32_Load_Save_EMF="$2"
|
||||
;;
|
||||
@ -1990,20 +1982,6 @@ if test "$enable_ntdll_WRITECOPY" -eq 1; then
|
||||
enable_ntdll_User_Shared_Data=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_RtlCreateUserThread" -eq 1; then
|
||||
if test "$enable_ntdll_LdrInitializeThunk" -gt 1; then
|
||||
abort "Patchset ntdll-LdrInitializeThunk disabled, but ntdll-RtlCreateUserThread depends on that."
|
||||
fi
|
||||
enable_ntdll_LdrInitializeThunk=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_RtlAddGrowableFunctionTable" -eq 1; then
|
||||
if test "$enable_ntdll_RtlGetUnloadEventTraceEx" -gt 1; then
|
||||
abort "Patchset ntdll-RtlGetUnloadEventTraceEx disabled, but ntdll-RtlAddGrowableFunctionTable depends on that."
|
||||
fi
|
||||
enable_ntdll_RtlGetUnloadEventTraceEx=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_RtlGetUnloadEventTraceEx" -eq 1; then
|
||||
if test "$enable_ntdll_RtlQueryPackageIdentity" -gt 1; then
|
||||
abort "Patchset ntdll-RtlQueryPackageIdentity disabled, but ntdll-RtlGetUnloadEventTraceEx depends on that."
|
||||
@ -2011,6 +1989,13 @@ if test "$enable_ntdll_RtlGetUnloadEventTraceEx" -eq 1; then
|
||||
enable_ntdll_RtlQueryPackageIdentity=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_RtlCreateUserThread" -eq 1; then
|
||||
if test "$enable_ntdll_LdrInitializeThunk" -gt 1; then
|
||||
abort "Patchset ntdll-LdrInitializeThunk disabled, but ntdll-RtlCreateUserThread depends on that."
|
||||
fi
|
||||
enable_ntdll_LdrInitializeThunk=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_Purist_Mode" -eq 1; then
|
||||
if test "$enable_ntdll_DllRedirects" -gt 1; then
|
||||
abort "Patchset ntdll-DllRedirects disabled, but ntdll-Purist_Mode depends on that."
|
||||
@ -4906,56 +4891,6 @@ if test "$enable_ntdll_Purist_Mode" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlQueryPackageIdentity
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/rtl.c
|
||||
# |
|
||||
if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then
|
||||
patch_apply ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll/tests: Add basic tests for RtlQueryPackageIdentity.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlGetUnloadEventTraceEx
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-RtlQueryPackageIdentity
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#44897] Implement stub for ntdll.RtlGetUnloadEventTraceEx
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c
|
||||
# |
|
||||
if test "$enable_ntdll_RtlGetUnloadEventTraceEx" -eq 1; then
|
||||
patch_apply ntdll-RtlGetUnloadEventTraceEx/0001-ntdll-Add-stub-for-RtlGetUnloadEventTraceEx.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for RtlGetUnloadEventTraceEx.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlAddGrowableFunctionTable
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-RtlQueryPackageIdentity, ntdll-RtlGetUnloadEventTraceEx
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#42255] ntdll: Add RtlAddGrowableFunctionTable stub
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/signal_arm.c, dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_x86_64.c, include/winnt.h
|
||||
# |
|
||||
if test "$enable_ntdll_RtlAddGrowableFunctionTable" -eq 1; then
|
||||
patch_apply ntdll-RtlAddGrowableFunctionTable/0001-ntdll-Add-RtlAddGrowableFunctionTable-stub.patch
|
||||
patch_apply ntdll-RtlAddGrowableFunctionTable/0002-ntdll-Add-RtlGrowFunctionTable-stub.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Austin English", "ntdll: Add RtlAddGrowableFunctionTable stub.", 1 },';
|
||||
printf '%s\n' '+ { "Alex Henrie", "ntdll: Add RtlGrowFunctionTable stub.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlCaptureStackBackTrace
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -4989,6 +4924,36 @@ if test "$enable_ntdll_RtlCreateUserThread" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlQueryPackageIdentity
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/rtl.c
|
||||
# |
|
||||
if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then
|
||||
patch_apply ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll/tests: Add basic tests for RtlQueryPackageIdentity.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlGetUnloadEventTraceEx
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-RtlQueryPackageIdentity
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#44897] Implement stub for ntdll.RtlGetUnloadEventTraceEx
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c
|
||||
# |
|
||||
if test "$enable_ntdll_RtlGetUnloadEventTraceEx" -eq 1; then
|
||||
patch_apply ntdll-RtlGetUnloadEventTraceEx/0001-ntdll-Add-stub-for-RtlGetUnloadEventTraceEx.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for RtlGetUnloadEventTraceEx.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-Serial_Port_Detection
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -5326,21 +5291,6 @@ if test "$enable_oleaut32_CreateTypeLib" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset oleaut32-ITypeInfo_fnInvoke
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#41488] Accept DISP_E_PARAMNOTFOUND for missing optional param in typelib implementation
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/oleaut32/tests/tmarshal.c, dlls/oleaut32/typelib.c
|
||||
# |
|
||||
if test "$enable_oleaut32_ITypeInfo_fnInvoke" -eq 1; then
|
||||
patch_apply oleaut32-ITypeInfo_fnInvoke/0001-oleaut32-Accept-DISP_E_PARAMNOTFOUND-for-missing-opt.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "oleaut32: Accept DISP_E_PARAMNOTFOUND for missing optional parameters in ITypeInfo::Invoke implementation.", 3 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset oleaut32-Load_Save_EMF
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -1,16 +1,16 @@
|
||||
From 3f91a3758547eec6afb1a7c064af3d3f05aa235d Mon Sep 17 00:00:00 2001
|
||||
From 2ad71921a69eda4efea18ceca917c00cccf69abc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 11 Feb 2016 03:17:09 +0100
|
||||
Subject: [PATCH] setupapi: Create registry keys for display devices and
|
||||
display drivers.
|
||||
|
||||
---
|
||||
dlls/setupapi/devinst.c | 111 +++++++++++++++++++++++++++++++++++-----
|
||||
dlls/setupapi/devinst.c | 108 +++++++++++++++++++++++++++++++++++++++++++-----
|
||||
loader/wine.inf.in | 2 +
|
||||
2 files changed, 101 insertions(+), 12 deletions(-)
|
||||
2 files changed, 100 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
|
||||
index 64c04131b01..b8d94fa4a99 100644
|
||||
index 82a45b4..9baefd3 100644
|
||||
--- a/dlls/setupapi/devinst.c
|
||||
+++ b/dlls/setupapi/devinst.c
|
||||
@@ -95,6 +95,15 @@ static const WCHAR Control[] = {'C','o','n','t','r','o','l',0};
|
||||
@ -29,7 +29,7 @@ index 64c04131b01..b8d94fa4a99 100644
|
||||
/* is used to identify if a DeviceInfoSet pointer is
|
||||
valid or not */
|
||||
#define SETUP_DEVICE_INFO_SET_MAGIC 0xd00ff056
|
||||
@@ -184,6 +193,90 @@ static struct device_iface *get_device_iface(HDEVINFO devinfo, const SP_DEVICE_I
|
||||
@@ -191,6 +200,90 @@ static struct device_iface *get_device_iface(HDEVINFO devinfo, const SP_DEVICE_I
|
||||
return (struct device_iface *)data->Reserved;
|
||||
}
|
||||
|
||||
@ -120,7 +120,7 @@ index 64c04131b01..b8d94fa4a99 100644
|
||||
static inline void copy_device_data(SP_DEVINFO_DATA *data, const struct device *device)
|
||||
{
|
||||
data->ClassGuid = device->class;
|
||||
@@ -475,8 +568,7 @@ static HKEY SETUPDI_CreateDevKey(struct device *device)
|
||||
@@ -482,8 +575,7 @@ static HKEY SETUPDI_CreateDevKey(struct device *device)
|
||||
HKEY enumKey, key = INVALID_HANDLE_VALUE;
|
||||
LONG l;
|
||||
|
||||
@ -130,17 +130,7 @@ index 64c04131b01..b8d94fa4a99 100644
|
||||
if (!l)
|
||||
{
|
||||
RegCreateKeyExW(enumKey, device->instanceId, 0, NULL, 0,
|
||||
@@ -567,8 +659,7 @@ static void SETUPDI_RemoveDevice(struct device *device)
|
||||
HKEY enumKey;
|
||||
LONG l;
|
||||
|
||||
- l = RegCreateKeyExW(HKEY_LOCAL_MACHINE, Enum, 0, NULL, 0,
|
||||
- KEY_ALL_ACCESS, NULL, &enumKey, NULL);
|
||||
+ l = open_enum_key(&enumKey);
|
||||
if (!l)
|
||||
{
|
||||
RegDeleteTreeW(enumKey, device->instanceId);
|
||||
@@ -2007,8 +2098,7 @@ static void SETUPDI_EnumerateMatchingInterfaces(HDEVINFO DeviceInfoSet,
|
||||
@@ -2012,8 +2104,7 @@ static void SETUPDI_EnumerateMatchingInterfaces(HDEVINFO DeviceInfoSet,
|
||||
|
||||
TRACE("%s\n", debugstr_w(enumstr));
|
||||
|
||||
@ -150,7 +140,7 @@ index 64c04131b01..b8d94fa4a99 100644
|
||||
for (i = 0; !l; i++)
|
||||
{
|
||||
len = ARRAY_SIZE(subKeyName);
|
||||
@@ -2234,8 +2324,7 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class,
|
||||
@@ -2233,8 +2324,7 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class,
|
||||
TRACE("%p, %s, %s, %08x\n", DeviceInfoSet, debugstr_guid(class),
|
||||
debugstr_w(enumstr), flags);
|
||||
|
||||
@ -160,7 +150,7 @@ index 64c04131b01..b8d94fa4a99 100644
|
||||
if (enumKey != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
if (enumstr)
|
||||
@@ -3346,8 +3435,7 @@ static HKEY SETUPDI_OpenDevKey(struct device *device, REGSAM samDesired)
|
||||
@@ -3345,8 +3435,7 @@ static HKEY SETUPDI_OpenDevKey(struct device *device, REGSAM samDesired)
|
||||
HKEY enumKey, key = INVALID_HANDLE_VALUE;
|
||||
LONG l;
|
||||
|
||||
@ -170,7 +160,7 @@ index 64c04131b01..b8d94fa4a99 100644
|
||||
if (!l)
|
||||
{
|
||||
RegOpenKeyExW(enumKey, device->instanceId, 0, samDesired, &key);
|
||||
@@ -3439,8 +3527,7 @@ static BOOL SETUPDI_DeleteDevKey(struct device *device)
|
||||
@@ -3438,8 +3527,7 @@ static BOOL SETUPDI_DeleteDevKey(struct device *device)
|
||||
BOOL ret = FALSE;
|
||||
LONG l;
|
||||
|
||||
@ -181,7 +171,7 @@ index 64c04131b01..b8d94fa4a99 100644
|
||||
{
|
||||
ret = RegDeleteTreeW(enumKey, device->instanceId);
|
||||
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
|
||||
index 5a3f8c46969..51e17453f3f 100644
|
||||
index 5a3f8c4..51e1745 100644
|
||||
--- a/loader/wine.inf.in
|
||||
+++ b/loader/wine.inf.in
|
||||
@@ -465,6 +465,8 @@ HKLM,System\CurrentControlSet\Control\ContentIndex\Language\Neutral,"Locale",0x1
|
||||
@ -194,5 +184,5 @@ index 5a3f8c46969..51e17453f3f 100644
|
||||
HKLM,System\CurrentControlSet\Control\Class\{4d36e978-e325-11ce-bfc1-08002be10318},"Class",,"Ports"
|
||||
HKLM,System\CurrentControlSet\Control\Class\{6bdd1fc6-810f-11d0-bec7-08002be2092f},,,"Imaging devices"
|
||||
--
|
||||
2.19.2
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 181e8775404470eef952667261555d960e636585 Mon Sep 17 00:00:00 2001
|
||||
From b0160bd38c99d74d4f9edee766e1247856b443ca Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 19 Aug 2016 00:47:08 +0200
|
||||
Subject: [PATCH] setupapi: SetupDiGetDeviceInterfaceDetail should fill out
|
||||
@ -10,10 +10,10 @@ Subject: [PATCH] setupapi: SetupDiGetDeviceInterfaceDetail should fill out
|
||||
2 files changed, 15 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
|
||||
index 93c26ce..b2fc7f8 100644
|
||||
index fa4036b..42cf5dd 100644
|
||||
--- a/dlls/setupapi/devinst.c
|
||||
+++ b/dlls/setupapi/devinst.c
|
||||
@@ -2873,9 +2873,6 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(
|
||||
@@ -2819,9 +2819,6 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(HDEVINFO devinfo, SP_DEVICE_INTERFA
|
||||
else
|
||||
DeviceInterfaceDetailData->DevicePath[0] = '\0';
|
||||
|
||||
@ -23,7 +23,7 @@ index 93c26ce..b2fc7f8 100644
|
||||
ret = TRUE;
|
||||
}
|
||||
else
|
||||
@@ -2884,6 +2881,10 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(
|
||||
@@ -2830,6 +2827,10 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(HDEVINFO devinfo, SP_DEVICE_INTERFA
|
||||
*RequiredSize = bytesNeeded;
|
||||
SetLastError(ERROR_INSUFFICIENT_BUFFER);
|
||||
}
|
||||
@ -34,7 +34,7 @@ index 93c26ce..b2fc7f8 100644
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -2943,9 +2944,6 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(
|
||||
@@ -2874,9 +2875,6 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO devinfo, SP_DEVICE_INTERFA
|
||||
else
|
||||
DeviceInterfaceDetailData->DevicePath[0] = '\0';
|
||||
|
||||
@ -44,7 +44,7 @@ index 93c26ce..b2fc7f8 100644
|
||||
ret = TRUE;
|
||||
}
|
||||
else
|
||||
@@ -2954,6 +2952,10 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(
|
||||
@@ -2885,6 +2883,10 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO devinfo, SP_DEVICE_INTERFA
|
||||
*RequiredSize = bytesNeeded;
|
||||
SetLastError(ERROR_INSUFFICIENT_BUFFER);
|
||||
}
|
||||
@ -56,10 +56,10 @@ index 93c26ce..b2fc7f8 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/setupapi/tests/devinst.c b/dlls/setupapi/tests/devinst.c
|
||||
index 7d485dd..ba4fe80 100644
|
||||
index 38be0a7..f523ef4 100644
|
||||
--- a/dlls/setupapi/tests/devinst.c
|
||||
+++ b/dlls/setupapi/tests/devinst.c
|
||||
@@ -815,6 +815,13 @@ static void test_device_iface_detail(void)
|
||||
@@ -725,6 +725,13 @@ static void test_device_iface_detail(void)
|
||||
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "Got unexpected error %#x.\n", GetLastError());
|
||||
ok(size == expectedsize, "Got unexpected size %d.\n", size);
|
||||
|
||||
@ -72,7 +72,7 @@ index 7d485dd..ba4fe80 100644
|
||||
+
|
||||
heap_free(detail);
|
||||
SetupDiDestroyDeviceInfoList(set);
|
||||
|
||||
}
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user