Compare commits

...

14 Commits

Author SHA1 Message Date
Sebastian Lackner
90679f2faf Release 2.21. 2017-11-22 00:25:49 +01:00
Sebastian Lackner
5263c29479 oleaut32-x86_64_Marshaller: Fix compilation on x86_64. 2017-11-21 16:54:53 +01:00
Sebastian Lackner
aa9bb78434 Rebase against 53290d2ec483006656987352d53842ffc1852c91. 2017-11-21 09:51:39 +01:00
Sebastian Lackner
ad21b3e74b msi-Dummy_Thread: Add reference to bug report. 2017-11-08 20:49:11 +01:00
Sebastian Lackner
da5cab425d Rebase against f962bb0039c87c084214ca0bd4f40693db376195. 2017-11-08 19:10:05 +01:00
Sebastian Lackner
9ac47d26d7 Rebase against 2c51fc1bfc1d551aebb47616c19d3329c5e0f7f6. 2017-11-08 05:03:26 +01:00
Sebastian Lackner
b3199000fe Rebase against 31ef99245ae8cd08b2bb611a2a8803c6206f4d54. 2017-11-08 04:00:15 +01:00
Sebastian Lackner
9e01cd7628 Rebase against 039d267b0925273197a9edcf7664c4a42dca932d. 2017-11-08 02:52:58 +01:00
Sebastian Lackner
14750b5cf8 Release 2.20. 2017-11-06 00:58:12 +01:00
Sebastian Lackner
8596e77b21 Rebase against 40b7831cd80607e42b9e1c910a62f022c45ac884. 2017-11-02 09:00:51 +01:00
Sebastian Lackner
a44a43769b Rebase against d0f2361170d140ad2510bb26ad187d30fd1c1afa. 2017-10-27 23:42:26 +02:00
Sebastian Lackner
a9ee89f869 Rebase against c14a16b08911d1695e42b75c60436ace9f42ea01. 2017-10-27 21:23:08 +02:00
Sebastian Lackner
a8a83ab795 Rebase against 981dec4986e7ac1982049dbede1ca2aa72f5e70c. 2017-10-27 19:40:52 +02:00
Sebastian Lackner
e3089157b4 Rebase against 57ca6b90bb7337cb90465b3bf1f147e3d2564f2e. 2017-10-23 17:07:04 +02:00
45 changed files with 301 additions and 1865 deletions

View File

@@ -1,4 +1,4 @@
From ce0ab0ccd6e4953a9673d15e00cf602668469c2c Mon Sep 17 00:00:00 2001
From 971cfbe9ab8a7cb62c5b3e62fe4fe0bfc4518889 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 5 Mar 2017 23:04:36 +0100
Subject: advapi32: Fix error code when calling LsaOpenPolicy for non existing
@@ -10,10 +10,10 @@ Subject: advapi32: Fix error code when calling LsaOpenPolicy for non existing
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index b8dedbd6d58..e5e3b1649c0 100644
index bfd879bbc73..2e021a1ec2d 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -692,7 +692,7 @@ NTSTATUS WINAPI LsaOpenPolicy(
@@ -659,7 +659,7 @@ NTSTATUS WINAPI LsaOpenPolicy(
ObjectAttributes, DesiredAccess, PolicyHandle);
ADVAPI_ForceLocalComputer(SystemName ? SystemName->Buffer : NULL,
@@ -23,10 +23,10 @@ index b8dedbd6d58..e5e3b1649c0 100644
if(PolicyHandle) *PolicyHandle = (LSA_HANDLE)0xcafe;
diff --git a/dlls/advapi32/tests/lsa.c b/dlls/advapi32/tests/lsa.c
index 4daf75f58d1..7ddda731be2 100644
index 861fea0525e..bb291e65a71 100644
--- a/dlls/advapi32/tests/lsa.c
+++ b/dlls/advapi32/tests/lsa.c
@@ -70,6 +70,8 @@ static BOOL init(void)
@@ -39,6 +39,8 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
static void test_lsa(void)
{
@@ -35,7 +35,7 @@ index 4daf75f58d1..7ddda731be2 100644
NTSTATUS status;
LSA_HANDLE handle;
LSA_OBJECT_ATTRIBUTES object_attributes;
@@ -77,6 +79,14 @@ static void test_lsa(void)
@@ -46,6 +48,14 @@ static void test_lsa(void)
ZeroMemory(&object_attributes, sizeof(object_attributes));
object_attributes.Length = sizeof(object_attributes);
@@ -43,13 +43,13 @@ index 4daf75f58d1..7ddda731be2 100644
+ machine.Length = sizeof(machineW) - 2;
+ machine.MaximumLength = sizeof(machineW);
+
+ status = pLsaOpenPolicy( &machine, &object_attributes, POLICY_LOOKUP_NAMES, &handle);
+ status = LsaOpenPolicy( &machine, &object_attributes, POLICY_LOOKUP_NAMES, &handle);
+ ok(status == RPC_NT_SERVER_UNAVAILABLE,
+ "LsaOpenPolicy(POLICY_LOOKUP_NAMES) for invalid machine returned 0x%08x\n", status);
+
status = pLsaOpenPolicy( NULL, &object_attributes, POLICY_ALL_ACCESS, &handle);
status = LsaOpenPolicy( NULL, &object_attributes, POLICY_ALL_ACCESS, &handle);
ok(status == STATUS_SUCCESS || status == STATUS_ACCESS_DENIED,
"LsaOpenPolicy(POLICY_ALL_ACCESS) returned 0x%08x\n", status);
--
2.11.0
2.14.2

View File

@@ -1,141 +0,0 @@
From ca415799729a5330fc9def2df8fb9c4ffef80448 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 5 Mar 2017 23:50:06 +0100
Subject: advapi32: Implement LsaLookupPrivilegeName.
---
dlls/advapi32/advapi32_misc.h | 2 ++
dlls/advapi32/lsa.c | 30 ++++++++++++++++++++++++++++--
dlls/advapi32/security.c | 27 ++++++++++++++++++---------
include/ntsecapi.h | 1 +
4 files changed, 49 insertions(+), 11 deletions(-)
diff --git a/dlls/advapi32/advapi32_misc.h b/dlls/advapi32/advapi32_misc.h
index d116ecb836e..ecb07f635a6 100644
--- a/dlls/advapi32/advapi32_misc.h
+++ b/dlls/advapi32/advapi32_misc.h
@@ -68,4 +68,6 @@ static inline WCHAR *strdupAW( const char *src )
return dst;
}
+const WCHAR * const WellKnownPrivNames[SE_MAX_WELL_KNOWN_PRIVILEGE + 1];
+
#endif /* __WINE_ADVAPI32MISC_H */
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index 61c91f497eb..e6f88d2fa73 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -983,6 +983,32 @@ NTSTATUS WINAPI LsaLookupPrivilegeName(
LUID *luid,
UNICODE_STRING **name)
{
- FIXME("(%p,%p,%p) stub\n", handle, luid, name);
- return STATUS_NO_SUCH_PRIVILEGE;
+ UNICODE_STRING *priv_unicode;
+ size_t priv_size;
+ WCHAR *strW;
+
+ TRACE("(%p, %p, %p)\n", handle, luid, name);
+
+ if (!handle)
+ return STATUS_INVALID_HANDLE;
+
+ if (!name)
+ return STATUS_INVALID_PARAMETER;
+
+ if (luid->HighPart ||
+ (luid->LowPart < SE_MIN_WELL_KNOWN_PRIVILEGE ||
+ luid->LowPart > SE_MAX_WELL_KNOWN_PRIVILEGE ||
+ !WellKnownPrivNames[luid->LowPart]))
+ return STATUS_NO_SUCH_PRIVILEGE;
+
+ priv_size = (strlenW(WellKnownPrivNames[luid->LowPart]) + 1) * sizeof(WCHAR);
+ priv_unicode = heap_alloc(sizeof(*priv_unicode) + priv_size);
+ if (!priv_unicode) return STATUS_NO_MEMORY;
+
+ strW = (WCHAR *)(priv_unicode + 1);
+ strcpyW(strW, WellKnownPrivNames[luid->LowPart]);
+ RtlInitUnicodeString(priv_unicode, strW);
+
+ *name = priv_unicode;
+ return STATUS_SUCCESS;
}
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index e36792cff4b..3bc8f48b19c 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -1840,7 +1840,7 @@ static const WCHAR SE_IMPERSONATE_NAME_W[] =
static const WCHAR SE_CREATE_GLOBAL_NAME_W[] =
{ 'S','e','C','r','e','a','t','e','G','l','o','b','a','l','P','r','i','v','i','l','e','g','e',0 };
-static const WCHAR * const WellKnownPrivNames[SE_MAX_WELL_KNOWN_PRIVILEGE + 1] =
+const WCHAR * const WellKnownPrivNames[SE_MAX_WELL_KNOWN_PRIVILEGE + 1] =
{
NULL,
NULL,
@@ -2043,33 +2043,42 @@ BOOL WINAPI
LookupPrivilegeNameW( LPCWSTR lpSystemName, PLUID lpLuid, LPWSTR lpName,
LPDWORD cchName)
{
+ UNICODE_STRING system_name, *priv;
+ LSA_HANDLE lsa;
+ NTSTATUS status;
size_t privNameLen;
TRACE("%s,%p,%p,%p\n",debugstr_w(lpSystemName), lpLuid, lpName, cchName);
- if (!ADVAPI_IsLocalComputer(lpSystemName))
+ RtlInitUnicodeString(&system_name, lpSystemName);
+ status = LsaOpenPolicy(&system_name, NULL, POLICY_LOOKUP_NAMES, &lsa);
+ if (status)
{
- SetLastError(RPC_S_SERVER_UNAVAILABLE);
+ SetLastError(LsaNtStatusToWinError(status));
return FALSE;
}
- if (lpLuid->HighPart || (lpLuid->LowPart < SE_MIN_WELL_KNOWN_PRIVILEGE ||
- lpLuid->LowPart > SE_MAX_WELL_KNOWN_PRIVILEGE))
+
+ status = LsaLookupPrivilegeName(&lsa, lpLuid, &priv);
+ LsaClose(lsa);
+ if (status)
{
- SetLastError(ERROR_NO_SUCH_PRIVILEGE);
+ SetLastError(LsaNtStatusToWinError(status));
return FALSE;
}
- privNameLen = strlenW(WellKnownPrivNames[lpLuid->LowPart]);
- /* Windows crashes if cchName is NULL, so will I */
+
+ privNameLen = priv->Length / sizeof(WCHAR);
if (*cchName <= privNameLen)
{
*cchName = privNameLen + 1;
+ LsaFreeMemory(priv);
SetLastError(ERROR_INSUFFICIENT_BUFFER);
return FALSE;
}
else
{
- strcpyW(lpName, WellKnownPrivNames[lpLuid->LowPart]);
+ strcpyW(lpName, priv->Buffer);
*cchName = privNameLen;
+ LsaFreeMemory(priv);
return TRUE;
}
}
diff --git a/include/ntsecapi.h b/include/ntsecapi.h
index 2bb3d312e43..0bf0eca43ed 100644
--- a/include/ntsecapi.h
+++ b/include/ntsecapi.h
@@ -370,6 +370,7 @@ NTSTATUS WINAPI LsaLookupNames(LSA_HANDLE,ULONG,PLSA_UNICODE_STRING,PLSA_REFEREN
PLSA_TRANSLATED_SID*);
NTSTATUS WINAPI LsaLookupNames2(LSA_HANDLE,ULONG,ULONG,PLSA_UNICODE_STRING,PLSA_REFERENCED_DOMAIN_LIST*,
PLSA_TRANSLATED_SID2*);
+NTSTATUS WINAPI LsaLookupPrivilegeName(LSA_HANDLE,PLUID,PUNICODE_STRING*);
NTSTATUS WINAPI LsaLookupSids(LSA_HANDLE,ULONG,PSID *,PLSA_REFERENCED_DOMAIN_LIST *,PLSA_TRANSLATED_NAME *);
ULONG WINAPI LsaNtStatusToWinError(NTSTATUS);
NTSTATUS WINAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,ACCESS_MASK,PLSA_HANDLE);
--
2.14.1

View File

@@ -1,62 +0,0 @@
From 63d642a1af3ccc579123cb8fd13959ab5e9136dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 6 Mar 2017 00:01:53 +0100
Subject: advapi32: Add stub for LsaLookupPrivilegeDisplayName.
---
dlls/advapi32/advapi32.spec | 2 +-
dlls/advapi32/lsa.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 124f527282..0b03cec3f5 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -468,7 +468,7 @@
# @ stub LsaICLookupSidsWithCreds
@ stdcall LsaLookupNames(long long ptr ptr ptr)
@ stdcall LsaLookupNames2(ptr long long ptr ptr ptr)
-@ stub LsaLookupPrivilegeDisplayName
+@ stdcall LsaLookupPrivilegeDisplayName(long ptr ptr ptr)
@ stdcall LsaLookupPrivilegeName(long ptr ptr)
# @ stub LsaLookupPrivilegeValue
@ stdcall LsaLookupSids(ptr long ptr ptr ptr)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index ceb3b05c05..c2e02fb462 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -44,6 +44,12 @@ WINE_DEFAULT_DEBUG_CHANNEL(advapi);
return FailureCode; \
}
+static LPCSTR debugstr_us( const UNICODE_STRING *us )
+{
+ if (!us) return "(null)";
+ return debugstr_wn(us->Buffer, us->Length / sizeof(WCHAR));
+}
+
static void dumpLsaAttributes(const LSA_OBJECT_ATTRIBUTES *oa)
{
if (oa)
@@ -1011,3 +1017,18 @@ NTSTATUS WINAPI LsaLookupPrivilegeName(
*name = priv_unicode;
return STATUS_SUCCESS;
}
+
+/******************************************************************************
+ * LsaLookupPrivilegeDisplayName [ADVAPI32.@]
+ *
+ */
+NTSTATUS WINAPI LsaLookupPrivilegeDisplayName(
+ LSA_HANDLE handle,
+ PLSA_UNICODE_STRING name,
+ PLSA_UNICODE_STRING *dispname,
+ SHORT *language)
+{
+ FIXME("(%p, %s, %p, %p)\n", handle, debugstr_us(name), dispname, language);
+
+ return STATUS_NO_SUCH_PRIVILEGE;
+}
--
2.11.0

View File

@@ -1 +0,0 @@
Fixes: [43316] Add LsaLookupPrivilege[Display]Name stubs

View File

@@ -1,4 +1,4 @@
From 9709db4e722195a70c5950b78b445c71eac495af Mon Sep 17 00:00:00 2001
From 2993a76ec1711bb3ea1e889289f8d129f17ae2a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 6 Aug 2017 02:08:05 +0200
Subject: server: Implement support for creating processes using a token.
@@ -14,10 +14,10 @@ Subject: server: Implement support for creating processes using a token.
7 files changed, 59 insertions(+), 21 deletions(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index cacdcb3b621..3ae9d175a79 100644
index c3dcd1349b3..69a026d5441 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -2064,7 +2064,7 @@ static NTSTATUS create_struct_sd(PSECURITY_DESCRIPTOR nt_sd, struct security_des
@@ -2051,7 +2051,7 @@ static NTSTATUS create_struct_sd(PSECURITY_DESCRIPTOR nt_sd, struct security_des
* Create a new process. If hFile is a valid handle we have an exe
* file, otherwise it is a Winelib app.
*/
@@ -26,7 +26,7 @@ index cacdcb3b621..3ae9d175a79 100644
LPCWSTR cur_dir, LPSECURITY_ATTRIBUTES psa, LPSECURITY_ATTRIBUTES tsa,
BOOL inherit, DWORD flags, LPSTARTUPINFOW startup,
LPPROCESS_INFORMATION info, LPCSTR unixdir,
@@ -2210,6 +2210,7 @@ static BOOL create_process( HANDLE hFile, LPCWSTR filename, LPWSTR cmd_line, LPW
@@ -2197,6 +2197,7 @@ static BOOL create_process( HANDLE hFile, LPCWSTR filename, LPWSTR cmd_line, LPW
req->info_size = startup_info_size;
req->env_size = (env_end - env) * sizeof(WCHAR);
req->process_sd_size = process_sd_size;
@@ -34,7 +34,7 @@ index cacdcb3b621..3ae9d175a79 100644
wine_server_add_data( req, startup_info, startup_info_size );
wine_server_add_data( req, env, (env_end - env) * sizeof(WCHAR) );
@@ -2310,7 +2311,7 @@ error:
@@ -2297,7 +2298,7 @@ error:
*
* Create a new VDM process for a 16-bit or DOS application.
*/
@@ -43,7 +43,7 @@ index cacdcb3b621..3ae9d175a79 100644
LPSECURITY_ATTRIBUTES psa, LPSECURITY_ATTRIBUTES tsa,
BOOL inherit, DWORD flags, LPSTARTUPINFOW startup,
LPPROCESS_INFORMATION info, LPCSTR unixdir,
@@ -2334,7 +2335,7 @@ static BOOL create_vdm_process( LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, L
@@ -2321,7 +2322,7 @@ static BOOL create_vdm_process( LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, L
return FALSE;
}
sprintfW(new_cmd_line, argsW, winevdmW, buffer, cmd_line);
@@ -52,7 +52,7 @@ index cacdcb3b621..3ae9d175a79 100644
flags, startup, info, unixdir, binary_info, exec_only );
HeapFree( GetProcessHeap(), 0, new_cmd_line );
return ret;
@@ -2346,7 +2347,7 @@ static BOOL create_vdm_process( LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, L
@@ -2333,7 +2334,7 @@ static BOOL create_vdm_process( LPCWSTR filename, LPWSTR cmd_line, LPWSTR env, L
*
* Create a new cmd shell process for a .BAT file.
*/
@@ -61,7 +61,7 @@ index cacdcb3b621..3ae9d175a79 100644
LPSECURITY_ATTRIBUTES psa, LPSECURITY_ATTRIBUTES tsa,
BOOL inherit, DWORD flags, LPSTARTUPINFOW startup,
LPPROCESS_INFORMATION info )
@@ -2371,8 +2372,8 @@ static BOOL create_cmd_process( LPCWSTR filename, LPWSTR cmd_line, LPVOID env, L
@@ -2358,8 +2359,8 @@ static BOOL create_cmd_process( LPCWSTR filename, LPWSTR cmd_line, LPVOID env, L
strcpyW( newcmdline, comspec );
strcatW( newcmdline, slashcW );
strcatW( newcmdline, cmd_line );
@@ -72,7 +72,7 @@ index cacdcb3b621..3ae9d175a79 100644
HeapFree( GetProcessHeap(), 0, newcmdline );
return ret;
}
@@ -2482,7 +2483,9 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l
@@ -2469,7 +2470,9 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l
TRACE("app %s cmdline %s\n", debugstr_w(app_name), debugstr_w(cmd_line) );
@@ -83,10 +83,10 @@ index cacdcb3b621..3ae9d175a79 100644
if (new_token) FIXME("No support for returning created process token\n");
if (!(tidy_cmdline = get_file_name( app_name, cmd_line, name, sizeof(name)/sizeof(WCHAR),
@@ -2540,20 +2543,20 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l
@@ -2527,20 +2530,20 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l
debugstr_w(name), (binary_info.flags & BINARY_FLAG_64BIT) ? 64 : 32,
binary_info.res_start, binary_info.res_end, binary_info.arch,
(binary_info.flags & BINARY_FLAG_FAKEDLL) ? ", fakedll" : "" );
wine_dbgstr_longlong(binary_info.res_start), wine_dbgstr_longlong(binary_info.res_end),
binary_info.arch, (binary_info.flags & BINARY_FLAG_FAKEDLL) ? ", fakedll" : "" );
- retv = create_process( hFile, name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr,
+ retv = create_process( token, hFile, name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr,
inherit, flags, startup_info, info, unixdir, &binary_info, FALSE );
@@ -107,7 +107,7 @@ index cacdcb3b621..3ae9d175a79 100644
inherit, flags, startup_info, info, unixdir, &binary_info, FALSE );
break;
case BINARY_UNKNOWN:
@@ -2565,7 +2568,7 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l
@@ -2552,7 +2555,7 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l
TRACE( "starting %s as DOS binary\n", debugstr_w(name) );
binary_info.type = BINARY_DOS;
binary_info.arch = IMAGE_FILE_MACHINE_I386;
@@ -116,7 +116,7 @@ index cacdcb3b621..3ae9d175a79 100644
inherit, flags, startup_info, info, unixdir,
&binary_info, FALSE );
break;
@@ -2573,7 +2576,7 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l
@@ -2560,7 +2563,7 @@ BOOL WINAPI CreateProcessInternalW( HANDLE token, LPCWSTR app_name, LPWSTR cmd_l
if (!strcmpiW( p, batW ) || !strcmpiW( p, cmdW ) )
{
TRACE( "starting %s as batch binary\n", debugstr_w(name) );
@@ -125,10 +125,10 @@ index cacdcb3b621..3ae9d175a79 100644
inherit, flags, startup_info, info );
break;
}
@@ -2692,12 +2695,12 @@ static void exec_process( LPCWSTR name )
TRACE( "starting %s as Win%d binary (%p-%p, arch %04x)\n",
@@ -2680,12 +2683,12 @@ static void exec_process( LPCWSTR name )
debugstr_w(name), (binary_info.flags & BINARY_FLAG_64BIT) ? 64 : 32,
binary_info.res_start, binary_info.res_end, binary_info.arch );
wine_dbgstr_longlong(binary_info.res_start), wine_dbgstr_longlong(binary_info.res_end),
binary_info.arch );
- create_process( hFile, name, GetCommandLineW(), NULL, NULL, NULL, NULL,
+ create_process( NULL, hFile, name, GetCommandLineW(), NULL, NULL, NULL, NULL,
FALSE, 0, &startup_info, &info, NULL, &binary_info, TRUE );
@@ -140,7 +140,7 @@ index cacdcb3b621..3ae9d175a79 100644
FALSE, 0, &startup_info, &info, NULL, &binary_info, TRUE );
break;
case BINARY_UNKNOWN:
@@ -2711,7 +2714,7 @@ static void exec_process( LPCWSTR name )
@@ -2699,7 +2702,7 @@ static void exec_process( LPCWSTR name )
case BINARY_WIN16:
case BINARY_DOS:
TRACE( "starting %s as Win16/DOS binary\n", debugstr_w(name) );
@@ -150,10 +150,10 @@ index cacdcb3b621..3ae9d175a79 100644
break;
default:
diff --git a/server/process.c b/server/process.c
index 74675d343b4..ef2452fb8fb 100644
index 81cea2f1baa..7d2206f2744 100644
--- a/server/process.c
+++ b/server/process.c
@@ -501,7 +501,7 @@ static void start_sigkill_timer( struct process *process )
@@ -496,7 +496,7 @@ static void start_sigkill_timer( struct process *process )
/* create a new process and its main thread */
/* if the function fails the fd is closed */
@@ -162,7 +162,7 @@ index 74675d343b4..ef2452fb8fb 100644
{
struct process *process;
struct thread *thread = NULL;
@@ -571,7 +571,7 @@ struct thread *create_process( int fd, struct thread *parent_thread, int inherit
@@ -567,7 +567,7 @@ struct thread *create_process( int fd, struct thread *parent_thread, int inherit
: alloc_handle_table( process, 0 );
/* Note: for security reasons, starting a new process does not attempt
* to use the current impersonation token for the new process */
@@ -171,7 +171,7 @@ index 74675d343b4..ef2452fb8fb 100644
process->affinity = parent->affinity;
}
if (!process->handles || !process->token) goto error;
@@ -1160,6 +1160,7 @@ DECL_HANDLER(new_process)
@@ -1147,6 +1147,7 @@ DECL_HANDLER(new_process)
struct startup_info *info;
struct thread *thread;
struct process *process;
@@ -179,7 +179,7 @@ index 74675d343b4..ef2452fb8fb 100644
struct process *parent = current->process;
int socket_fd = thread_get_inflight_fd( current, req->socket_fd );
const struct security_descriptor *process_sd = NULL, *thread_sd = NULL;
@@ -1195,9 +1196,27 @@ DECL_HANDLER(new_process)
@@ -1182,9 +1183,27 @@ DECL_HANDLER(new_process)
return;
}
@@ -208,7 +208,7 @@ index 74675d343b4..ef2452fb8fb 100644
return;
}
@@ -1205,6 +1224,7 @@ DECL_HANDLER(new_process)
@@ -1192,6 +1211,7 @@ DECL_HANDLER(new_process)
if (!(info = alloc_object( &startup_info_ops )))
{
close( socket_fd );
@@ -216,7 +216,7 @@ index 74675d343b4..ef2452fb8fb 100644
return;
}
info->exe_file = NULL;
@@ -1287,7 +1307,7 @@ DECL_HANDLER(new_process)
@@ -1274,7 +1294,7 @@ DECL_HANDLER(new_process)
}
}
@@ -225,7 +225,7 @@ index 74675d343b4..ef2452fb8fb 100644
process = thread->process;
process->startup_info = (struct startup_info *)grab_object( info );
@@ -1369,6 +1389,7 @@ DECL_HANDLER(new_process)
@@ -1356,6 +1376,7 @@ DECL_HANDLER(new_process)
}
done:
@@ -234,10 +234,10 @@ index 74675d343b4..ef2452fb8fb 100644
}
diff --git a/server/process.h b/server/process.h
index 262eb59627b..fcb45d8d676 100644
index 78e88ec350a..313c36ab241 100644
--- a/server/process.h
+++ b/server/process.h
@@ -115,7 +115,7 @@ struct process_snapshot
@@ -114,7 +114,7 @@ struct process_snapshot
extern unsigned int alloc_ptid( void *ptr );
extern void free_ptid( unsigned int id );
extern void *get_ptid_entry( unsigned int id );
@@ -247,10 +247,10 @@ index 262eb59627b..fcb45d8d676 100644
extern struct thread *get_process_first_thread( struct process *process );
extern struct process *get_process_from_id( process_id_t id );
diff --git a/server/protocol.def b/server/protocol.def
index e5b598259f7..7106cdb6f04 100644
index 1ea129fec08..95513fef6c3 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -767,6 +767,7 @@ struct rawinput_device
@@ -739,6 +739,7 @@ struct rawinput_device
data_size_t info_size; /* size of startup info */
data_size_t env_size; /* size of the environment */
data_size_t process_sd_size;/* size of the process security descriptor */
@@ -259,10 +259,10 @@ index e5b598259f7..7106cdb6f04 100644
VARARG(env,unicode_str,env_size); /* environment for new process */
VARARG(process_sd,security_descriptor,process_sd_size); /* security descriptor to set on the process */
diff --git a/server/request.c b/server/request.c
index 83e608917f8..23760cdeb98 100644
index 6120bc550ff..a648c306496 100644
--- a/server/request.c
+++ b/server/request.c
@@ -571,7 +571,7 @@ static void master_socket_poll_event( struct fd *fd, int event )
@@ -570,7 +570,7 @@ static void master_socket_poll_event( struct fd *fd, int event )
int client = accept( get_unix_fd( master_socket->fd ), (struct sockaddr *) &dummy, &len );
if (client == -1) return;
fcntl( client, F_SETFL, O_NONBLOCK );
@@ -285,10 +285,10 @@ index 21e90ccf23f..32dfe5f8db9 100644
static inline const ACE_HEADER *ace_next( const ACE_HEADER *ace )
{
diff --git a/server/token.c b/server/token.c
index 385ea3bbfda..c507294b49d 100644
index 49e84362a83..f6b6165d7a9 100644
--- a/server/token.c
+++ b/server/token.c
@@ -851,6 +851,12 @@ int token_assign_label( struct token *token, PSID label )
@@ -843,6 +843,12 @@ int token_assign_label( struct token *token, PSID label )
return ret;
}
@@ -301,7 +301,7 @@ index 385ea3bbfda..c507294b49d 100644
struct token *token_create_admin( void )
{
struct token *token = NULL;
@@ -1278,6 +1284,11 @@ const SID *token_get_primary_group( struct token *token )
@@ -1269,6 +1275,11 @@ const SID *token_get_primary_group( struct token *token )
return token->primary_group;
}
@@ -314,5 +314,5 @@ index 385ea3bbfda..c507294b49d 100644
{
GENERIC_MAPPING mapping;
--
2.13.1
2.14.2

View File

@@ -1,4 +1,4 @@
From 49eb261c42d89a4c755914a40af797eb0b04d816 Mon Sep 17 00:00:00 2001
From 44c826229e00ebefac0bca596746c1037c5c370b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 17 Jan 2016 17:02:41 +0100
Subject: api-ms-win-shcore-obsolete-l1-1-0: Add dll.
@@ -13,27 +13,27 @@ Subject: api-ms-win-shcore-obsolete-l1-1-0: Add dll.
create mode 100644 dlls/api-ms-win-shcore-obsolete-l1-1-0/api-ms-win-shcore-obsolete-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index e8b9c2a..736c744 100644
index cc1d5ba443c..78c163e5f35 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2801,6 +2801,7 @@ WINE_CONFIG_DLL(api-ms-win-service-management-l2-1-0)
@@ -2939,6 +2939,7 @@ WINE_CONFIG_DLL(api-ms-win-service-management-l2-1-0)
WINE_CONFIG_DLL(api-ms-win-service-private-l1-1-1)
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-2-0)
+WINE_CONFIG_DLL(api-ms-win-shcore-obsolete-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shcore-scaling-l1-1-1)
WINE_CONFIG_DLL(api-ms-win-shell-shellcom-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shell-shellfolders-l1-1-0)
WINE_CONFIG_DLL(apphelp)
diff --git a/dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in b/dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in
new file mode 100644
index 0000000..6588d13
index 00000000000..6588d13937e
--- /dev/null
+++ b/dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = api-ms-win-shcore-obsolete-l1-1-0.dll
diff --git a/dlls/api-ms-win-shcore-obsolete-l1-1-0/api-ms-win-shcore-obsolete-l1-1-0.spec b/dlls/api-ms-win-shcore-obsolete-l1-1-0/api-ms-win-shcore-obsolete-l1-1-0.spec
new file mode 100644
index 0000000..edb8143
index 00000000000..edb8143799d
--- /dev/null
+++ b/dlls/api-ms-win-shcore-obsolete-l1-1-0/api-ms-win-shcore-obsolete-l1-1-0.spec
@@ -0,0 +1,3 @@
@@ -41,20 +41,20 @@ index 0000000..edb8143
+@ stdcall SHStrDupA(str ptr) shcore.SHStrDupA
+@ stdcall SHStrDupW(wstr ptr) shcore.SHStrDupW
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 6fb6376..c19993d 100755
index ec4b68c2cf1..00f70283d49 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -270,6 +270,10 @@ my @dll_groups =
@@ -330,6 +330,10 @@ my @dll_groups =
"shlwapi",
"shcore",
],
[
+ [
+ "shcore",
+ "api-ms-win-shcore-obsolete-l1-1-0",
+ ],
+ [
[
"user32",
"api-ms-win-core-stringansi-l1-1-0",
"api-ms-win-core-string-l2-1-0",
--
2.9.0
2.14.2

View File

@@ -1,4 +1,4 @@
From c0c54145e9b77cabfe520050f1a383659abd679f Mon Sep 17 00:00:00 2001
From 19a4e40be4d9ef69c06b79185631f462f613c906 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 19 Jan 2016 16:19:11 +0100
Subject: api-ms-win-shcore-thread-l1-1-0: Add dll
@@ -13,27 +13,27 @@ Subject: api-ms-win-shcore-thread-l1-1-0: Add dll
create mode 100644 dlls/api-ms-win-shcore-thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index 3847ab8..876b232 100644
index 4f88873c57c..9efeb2fb02f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2797,6 +2797,7 @@ WINE_CONFIG_DLL(api-ms-win-service-management-l2-1-0)
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-1-0)
@@ -2941,6 +2941,7 @@ WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-2-0)
WINE_CONFIG_DLL(api-ms-win-shcore-obsolete-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shcore-scaling-l1-1-1)
+WINE_CONFIG_DLL(api-ms-win-shcore-thread-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shell-shellcom-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shell-shellfolders-l1-1-0)
WINE_CONFIG_DLL(apphelp)
diff --git a/dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in b/dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in
new file mode 100644
index 0000000..0a20ccf
index 00000000000..0a20ccf206f
--- /dev/null
+++ b/dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = api-ms-win-shcore-thread-l1-1-0.dll
diff --git a/dlls/api-ms-win-shcore-thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec b/dlls/api-ms-win-shcore-thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec
new file mode 100644
index 0000000..1533005
index 00000000000..15330050ded
--- /dev/null
+++ b/dlls/api-ms-win-shcore-thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec
@@ -0,0 +1,8 @@
@@ -46,10 +46,10 @@ index 0000000..1533005
+@ stdcall SHSetThreadRef(ptr) shcore.SHSetThreadRef
+@ stub SetProcessReference
diff --git a/tools/make_specfiles b/tools/make_specfiles
index e16a378..3fd4f36 100755
index 00f70283d49..7abb3be32e6 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -268,6 +268,7 @@ my @dll_groups =
@@ -333,6 +333,7 @@ my @dll_groups =
[
"shcore",
"api-ms-win-shcore-obsolete-l1-1-0",
@@ -58,5 +58,5 @@ index e16a378..3fd4f36 100755
[
"user32",
--
2.9.0
2.14.2

View File

@@ -1,4 +1,4 @@
From dece0c4c7519885d8e6da604de5735f1ebed7769 Mon Sep 17 00:00:00 2001
From 56a35eb70c12ef297d1030e7a13f9a5f5746d057 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 23 Jan 2016 20:56:53 +0100
Subject: api-ms-win-shcore-stream-l1-1-0: Add dll
@@ -13,27 +13,27 @@ Subject: api-ms-win-shcore-stream-l1-1-0: Add dll
create mode 100644 dlls/api-ms-win-shcore-stream-l1-1-0/api-ms-win-shcore-stream-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index d88aa46..f5d8f62 100644
index 9efeb2fb02f..115becf5aaf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2798,6 +2798,7 @@ WINE_CONFIG_DLL(api-ms-win-service-management-l2-1-0)
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-1-0)
@@ -2941,6 +2941,7 @@ WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-2-0)
WINE_CONFIG_DLL(api-ms-win-shcore-obsolete-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shcore-scaling-l1-1-1)
+WINE_CONFIG_DLL(api-ms-win-shcore-stream-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shcore-thread-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shell-shellcom-l1-1-0)
WINE_CONFIG_DLL(api-ms-win-shell-shellfolders-l1-1-0)
diff --git a/dlls/api-ms-win-shcore-stream-l1-1-0/Makefile.in b/dlls/api-ms-win-shcore-stream-l1-1-0/Makefile.in
new file mode 100644
index 0000000..df2caad
index 00000000000..df2caadd38b
--- /dev/null
+++ b/dlls/api-ms-win-shcore-stream-l1-1-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = api-ms-win-shcore-stream-l1-1-0.dll
diff --git a/dlls/api-ms-win-shcore-stream-l1-1-0/api-ms-win-shcore-stream-l1-1-0.spec b/dlls/api-ms-win-shcore-stream-l1-1-0/api-ms-win-shcore-stream-l1-1-0.spec
new file mode 100644
index 0000000..1ee9dd3
index 00000000000..1ee9dd335b6
--- /dev/null
+++ b/dlls/api-ms-win-shcore-stream-l1-1-0/api-ms-win-shcore-stream-l1-1-0.spec
@@ -0,0 +1,15 @@
@@ -53,10 +53,10 @@ index 0000000..1ee9dd3
+@ stdcall SHOpenRegStreamA(long str str long) shcore.SHOpenRegStreamA
+@ stdcall SHOpenRegStreamW(long wstr wstr long) shcore.SHOpenRegStreamW
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 6a08495..dc429d7 100755
index 7abb3be32e6..86509aa7fb7 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -270,6 +270,7 @@ my @dll_groups =
@@ -334,6 +334,7 @@ my @dll_groups =
"shcore",
"api-ms-win-shcore-obsolete-l1-1-0",
"api-ms-win-shcore-thread-l1-1-0",
@@ -65,5 +65,5 @@ index 6a08495..dc429d7 100755
[
"user32",
--
2.9.0
2.14.2

View File

@@ -1,26 +0,0 @@
From 1678dc51bead9b84a2670e122c87f70d1c023935 Mon Sep 17 00:00:00 2001
From: Hans Leidekker <hans@codeweavers.com>
Date: Thu, 17 Aug 2017 18:02:53 +0200
Subject: include: Add missing BCRYPT_CHAIN_MODE definitions.
---
include/bcrypt.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/bcrypt.h b/include/bcrypt.h
index 9e193da5de5..34ffc100d6b 100644
--- a/include/bcrypt.h
+++ b/include/bcrypt.h
@@ -74,6 +74,9 @@ typedef LONG NTSTATUS;
#define BCRYPT_CHAIN_MODE_NA (const WCHAR []){'C','h','a','i','n','i','n','g','M','o','d','e','N','/','A',0}
#define BCRYPT_CHAIN_MODE_CBC (const WCHAR []){'C','h','a','i','n','i','n','g','M','o','d','e','C','B','C',0}
#define BCRYPT_CHAIN_MODE_ECB (const WCHAR []){'C','h','a','i','n','i','n','g','M','o','d','e','E','C','B',0}
+#define BCRYPT_CHAIN_MODE_CFB (const WCHAR []){'C','h','a','i','n','i','n','g','M','o','d','e','C','F','B',0}
+#define BCRYPT_CHAIN_MODE_CCM (const WCHAR []){'C','h','a','i','n','i','n','g','M','o','d','e','C','C','M',0}
+#define BCRYPT_CHAIN_MODE_GCM (const WCHAR []){'C','h','a','i','n','i','n','g','M','o','d','e','G','C','M',0}
typedef struct _BCRYPT_ALGORITHM_IDENTIFIER
{
--
2.13.1

View File

@@ -1,4 +1,4 @@
From a2011b8504dd6c5634d5ea369d04287d9d5ee6e4 Mon Sep 17 00:00:00 2001
From 0ec24dc6590e24a868190811b74bd457d75ad0f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 7 Jul 2017 05:44:09 +0200
Subject: d3d11/tests: Add some basic depth tests.
@@ -8,7 +8,7 @@ Subject: d3d11/tests: Add some basic depth tests.
1 file changed, 206 insertions(+), 3 deletions(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 22f5997896a..2552a6cc701 100644
index 8df683ef1b8..77917f24769 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -1346,8 +1346,9 @@ static void set_quad_color(struct d3d11_test_context *context, const struct vec4
@@ -32,7 +32,7 @@ index 22f5997896a..2552a6cc701 100644
}
static void test_create_device(void)
@@ -15221,6 +15222,207 @@ static void test_stencil_separate(void)
@@ -15213,6 +15214,207 @@ static void test_stencil_separate(void)
release_test_context(&test_context);
}
@@ -240,14 +240,14 @@ index 22f5997896a..2552a6cc701 100644
static void test_uav_load(void)
{
struct shader
@@ -21267,6 +21469,7 @@ START_TEST(d3d11)
@@ -21362,6 +21564,7 @@ START_TEST(d3d11)
test_shader_input_registers_limits();
test_unbind_shader_resource_view();
test_stencil_separate();
+ test_depth_separate();
test_uav_load();
test_cs_uav_store();
test_ps_cs_uav_binding();
test_uav_store_immediate_constant();
--
2.14.1
2.14.2

View File

@@ -1,27 +0,0 @@
From 623008778ae6b9ebe5903d71f1e09abefca7ae65 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 18 Feb 2017 21:50:33 +0100
Subject: d3d11/tests: Avoid test failures.
---
dlls/d3d11/tests/d3d11.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 8f37304b5e..64df74f671 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -14609,8 +14609,10 @@ static void test_unaligned_raw_buffer_access(const D3D_FEATURE_LEVEL feature_lev
ID3D11DeviceContext_Dispatch(context, 1, 1, 1);
get_buffer_readback(raw_buffer, &rb);
data = get_readback_color(&rb, 0, 0);
+ todo_wine
ok(data == 0xffff, "Got unexpected result %#x.\n", data);
data = get_readback_color(&rb, 1, 0);
+ todo_wine
ok(data == 0xa, "Got unexpected result %#x.\n", data);
release_resource_readback(&rb);
--
2.11.0

View File

@@ -1,4 +1,4 @@
From 9953d63a9b6250e72c618ea12ece1bc281790c6f Mon Sep 17 00:00:00 2001
From 3eb7b781849135fefeece9ca257ca9673b1545fd Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 16 Jul 2017 18:13:31 +0200
Subject: d3dx9_36: Add semi-stub for D3DXOptimizeVertices.
@@ -29,7 +29,7 @@ Subject: d3dx9_36: Add semi-stub for D3DXOptimizeVertices.
22 files changed, 69 insertions(+), 20 deletions(-)
diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
index b524fadf93d..88cbcc30db5 100644
index 0ca8777efe6..9b52c2bf307 100644
--- a/dlls/d3dx9_24/d3dx9_24.spec
+++ b/dlls/d3dx9_24/d3dx9_24.spec
@@ -226,7 +226,7 @@
@@ -42,7 +42,7 @@ index b524fadf93d..88cbcc30db5 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec
index 9344e44d687..55ee0ab1f4f 100644
index a5449810a43..fc75dfd9c04 100644
--- a/dlls/d3dx9_25/d3dx9_25.spec
+++ b/dlls/d3dx9_25/d3dx9_25.spec
@@ -226,7 +226,7 @@
@@ -55,7 +55,7 @@ index 9344e44d687..55ee0ab1f4f 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec
index 7a28ca6e7ee..11b64446c8a 100644
index 9e1200442f4..85d9fc5332e 100644
--- a/dlls/d3dx9_26/d3dx9_26.spec
+++ b/dlls/d3dx9_26/d3dx9_26.spec
@@ -230,7 +230,7 @@
@@ -68,7 +68,7 @@ index 7a28ca6e7ee..11b64446c8a 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec
index 7a28ca6e7ee..11b64446c8a 100644
index 9e1200442f4..85d9fc5332e 100644
--- a/dlls/d3dx9_27/d3dx9_27.spec
+++ b/dlls/d3dx9_27/d3dx9_27.spec
@@ -230,7 +230,7 @@
@@ -81,7 +81,7 @@ index 7a28ca6e7ee..11b64446c8a 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec
index da49c9e23b5..936c00152b3 100644
index b316a23baf1..62673ccd7af 100644
--- a/dlls/d3dx9_28/d3dx9_28.spec
+++ b/dlls/d3dx9_28/d3dx9_28.spec
@@ -230,7 +230,7 @@
@@ -94,7 +94,7 @@ index da49c9e23b5..936c00152b3 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec
index da49c9e23b5..936c00152b3 100644
index b316a23baf1..62673ccd7af 100644
--- a/dlls/d3dx9_29/d3dx9_29.spec
+++ b/dlls/d3dx9_29/d3dx9_29.spec
@@ -230,7 +230,7 @@
@@ -107,7 +107,7 @@ index da49c9e23b5..936c00152b3 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec
index c8648fb984f..a5a972c2dc5 100644
index e00fa547862..2c7575d88fc 100644
--- a/dlls/d3dx9_30/d3dx9_30.spec
+++ b/dlls/d3dx9_30/d3dx9_30.spec
@@ -230,7 +230,7 @@
@@ -120,7 +120,7 @@ index c8648fb984f..a5a972c2dc5 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec
index 7f881ddaf8e..29b51c1b82f 100644
index d308939ef67..a41eb3e9af2 100644
--- a/dlls/d3dx9_31/d3dx9_31.spec
+++ b/dlls/d3dx9_31/d3dx9_31.spec
@@ -227,7 +227,7 @@
@@ -133,7 +133,7 @@ index 7f881ddaf8e..29b51c1b82f 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec
index 2f51ece333d..57112ecc1e4 100644
index c2292dff396..eab56b3c9ee 100644
--- a/dlls/d3dx9_32/d3dx9_32.spec
+++ b/dlls/d3dx9_32/d3dx9_32.spec
@@ -227,7 +227,7 @@
@@ -146,7 +146,7 @@ index 2f51ece333d..57112ecc1e4 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec
index 2f51ece333d..57112ecc1e4 100644
index c2292dff396..eab56b3c9ee 100644
--- a/dlls/d3dx9_33/d3dx9_33.spec
+++ b/dlls/d3dx9_33/d3dx9_33.spec
@@ -227,7 +227,7 @@
@@ -159,7 +159,7 @@ index 2f51ece333d..57112ecc1e4 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec
index 2f51ece333d..57112ecc1e4 100644
index c2292dff396..eab56b3c9ee 100644
--- a/dlls/d3dx9_34/d3dx9_34.spec
+++ b/dlls/d3dx9_34/d3dx9_34.spec
@@ -227,7 +227,7 @@
@@ -172,7 +172,7 @@ index 2f51ece333d..57112ecc1e4 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec
index 2f51ece333d..57112ecc1e4 100644
index c2292dff396..eab56b3c9ee 100644
--- a/dlls/d3dx9_35/d3dx9_35.spec
+++ b/dlls/d3dx9_35/d3dx9_35.spec
@@ -227,7 +227,7 @@
@@ -185,7 +185,7 @@ index 2f51ece333d..57112ecc1e4 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index 0408ff9ffd0..83319500063 100644
index 0fdf4e135e1..6201657d4a5 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -229,7 +229,7 @@
@@ -198,7 +198,7 @@ index 0408ff9ffd0..83319500063 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
index c26aa7271f0..138d60a20a0 100644
index 6294ce624fe..12cb7eb7258 100644
--- a/dlls/d3dx9_36/mesh.c
+++ b/dlls/d3dx9_36/mesh.c
@@ -7184,6 +7184,33 @@ cleanup:
@@ -236,7 +236,7 @@ index c26aa7271f0..138d60a20a0 100644
* D3DXOptimizeFaces (D3DX9_36.@)
*
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
index b1ab0aaf594..870285ad6ae 100644
index f437a83cbd8..c5faae520c9 100644
--- a/dlls/d3dx9_36/tests/mesh.c
+++ b/dlls/d3dx9_36/tests/mesh.c
@@ -10403,6 +10403,27 @@ cleanup:
@@ -267,16 +267,16 @@ index b1ab0aaf594..870285ad6ae 100644
static void test_optimize_faces(void)
{
HRESULT hr;
@@ -11216,6 +11237,7 @@ START_TEST(mesh)
@@ -11291,6 +11312,7 @@ START_TEST(mesh)
test_weld_vertices();
test_clone_mesh();
test_valid_mesh();
+ test_optimize_vertices();
test_optimize_faces();
test_compute_normals();
}
test_D3DXFrameFind();
diff --git a/dlls/d3dx9_37/d3dx9_37.spec b/dlls/d3dx9_37/d3dx9_37.spec
index 0408ff9ffd0..83319500063 100644
index 0fdf4e135e1..6201657d4a5 100644
--- a/dlls/d3dx9_37/d3dx9_37.spec
+++ b/dlls/d3dx9_37/d3dx9_37.spec
@@ -229,7 +229,7 @@
@@ -289,7 +289,7 @@ index 0408ff9ffd0..83319500063 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_38/d3dx9_38.spec b/dlls/d3dx9_38/d3dx9_38.spec
index 0408ff9ffd0..83319500063 100644
index 0fdf4e135e1..6201657d4a5 100644
--- a/dlls/d3dx9_38/d3dx9_38.spec
+++ b/dlls/d3dx9_38/d3dx9_38.spec
@@ -229,7 +229,7 @@
@@ -302,7 +302,7 @@ index 0408ff9ffd0..83319500063 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_39/d3dx9_39.spec b/dlls/d3dx9_39/d3dx9_39.spec
index 0408ff9ffd0..83319500063 100644
index 0fdf4e135e1..6201657d4a5 100644
--- a/dlls/d3dx9_39/d3dx9_39.spec
+++ b/dlls/d3dx9_39/d3dx9_39.spec
@@ -229,7 +229,7 @@
@@ -315,7 +315,7 @@ index 0408ff9ffd0..83319500063 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_40/d3dx9_40.spec b/dlls/d3dx9_40/d3dx9_40.spec
index 0408ff9ffd0..83319500063 100644
index 0fdf4e135e1..6201657d4a5 100644
--- a/dlls/d3dx9_40/d3dx9_40.spec
+++ b/dlls/d3dx9_40/d3dx9_40.spec
@@ -229,7 +229,7 @@
@@ -328,7 +328,7 @@ index 0408ff9ffd0..83319500063 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_41/d3dx9_41.spec b/dlls/d3dx9_41/d3dx9_41.spec
index 0408ff9ffd0..83319500063 100644
index 0fdf4e135e1..6201657d4a5 100644
--- a/dlls/d3dx9_41/d3dx9_41.spec
+++ b/dlls/d3dx9_41/d3dx9_41.spec
@@ -229,7 +229,7 @@
@@ -341,7 +341,7 @@ index 0408ff9ffd0..83319500063 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_42/d3dx9_42.spec b/dlls/d3dx9_42/d3dx9_42.spec
index 23bb40d7b11..b1162de3d73 100644
index 2f2ac5fd619..7cfc439f84b 100644
--- a/dlls/d3dx9_42/d3dx9_42.spec
+++ b/dlls/d3dx9_42/d3dx9_42.spec
@@ -222,7 +222,7 @@
@@ -354,7 +354,7 @@ index 23bb40d7b11..b1162de3d73 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
diff --git a/dlls/d3dx9_43/d3dx9_43.spec b/dlls/d3dx9_43/d3dx9_43.spec
index 23bb40d7b11..b1162de3d73 100644
index 2f2ac5fd619..7cfc439f84b 100644
--- a/dlls/d3dx9_43/d3dx9_43.spec
+++ b/dlls/d3dx9_43/d3dx9_43.spec
@@ -222,7 +222,7 @@
@@ -367,5 +367,5 @@ index 23bb40d7b11..b1162de3d73 100644
@ stdcall D3DXPlaneFromPoints(ptr ptr ptr ptr)
@ stdcall D3DXPlaneIntersectLine(ptr ptr ptr ptr)
--
2.13.1
2.14.2

View File

@@ -1,309 +0,0 @@
From 3055927f037fea93b5ebd4a38b1f0c70a7be4990 Mon Sep 17 00:00:00 2001
From: Andrey Gusev <andrey.goosev@gmail.com>
Date: Wed, 1 Apr 2015 20:59:49 +0300
Subject: d3dx9_36: Add D3DXFrameFind stub.
---
dlls/d3dx9_24/d3dx9_24.spec | 2 +-
dlls/d3dx9_25/d3dx9_25.spec | 2 +-
dlls/d3dx9_26/d3dx9_26.spec | 2 +-
dlls/d3dx9_27/d3dx9_27.spec | 2 +-
dlls/d3dx9_28/d3dx9_28.spec | 2 +-
dlls/d3dx9_29/d3dx9_29.spec | 2 +-
dlls/d3dx9_30/d3dx9_30.spec | 2 +-
dlls/d3dx9_31/d3dx9_31.spec | 2 +-
dlls/d3dx9_32/d3dx9_32.spec | 2 +-
dlls/d3dx9_33/d3dx9_33.spec | 2 +-
dlls/d3dx9_34/d3dx9_34.spec | 2 +-
dlls/d3dx9_35/d3dx9_35.spec | 2 +-
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
dlls/d3dx9_36/mesh.c | 6 ++++++
dlls/d3dx9_37/d3dx9_37.spec | 2 +-
dlls/d3dx9_38/d3dx9_38.spec | 2 +-
dlls/d3dx9_39/d3dx9_39.spec | 2 +-
dlls/d3dx9_40/d3dx9_40.spec | 2 +-
dlls/d3dx9_41/d3dx9_41.spec | 2 +-
dlls/d3dx9_42/d3dx9_42.spec | 2 +-
dlls/d3dx9_43/d3dx9_43.spec | 2 +-
21 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
index f07ef54..5d03e3e 100644
--- a/dlls/d3dx9_24/d3dx9_24.spec
+++ b/dlls/d3dx9_24/d3dx9_24.spec
@@ -131,7 +131,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec
index 691f921..bc64b35 100644
--- a/dlls/d3dx9_25/d3dx9_25.spec
+++ b/dlls/d3dx9_25/d3dx9_25.spec
@@ -131,7 +131,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec
index 151e6f8..9e7bcc5 100644
--- a/dlls/d3dx9_26/d3dx9_26.spec
+++ b/dlls/d3dx9_26/d3dx9_26.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec
index 151e6f8..9e7bcc5 100644
--- a/dlls/d3dx9_27/d3dx9_27.spec
+++ b/dlls/d3dx9_27/d3dx9_27.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec
index 10f7620..4552e06 100644
--- a/dlls/d3dx9_28/d3dx9_28.spec
+++ b/dlls/d3dx9_28/d3dx9_28.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec
index 10f7620..4552e06 100644
--- a/dlls/d3dx9_29/d3dx9_29.spec
+++ b/dlls/d3dx9_29/d3dx9_29.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec
index 65aaeb5..5ec9060 100644
--- a/dlls/d3dx9_30/d3dx9_30.spec
+++ b/dlls/d3dx9_30/d3dx9_30.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec
index 30d84a8..711581d 100644
--- a/dlls/d3dx9_31/d3dx9_31.spec
+++ b/dlls/d3dx9_31/d3dx9_31.spec
@@ -134,7 +134,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec
index 1ff0f41..0f083f5 100644
--- a/dlls/d3dx9_32/d3dx9_32.spec
+++ b/dlls/d3dx9_32/d3dx9_32.spec
@@ -134,7 +134,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec
index 1ff0f41..0f083f5 100644
--- a/dlls/d3dx9_33/d3dx9_33.spec
+++ b/dlls/d3dx9_33/d3dx9_33.spec
@@ -134,7 +134,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec
index 1ff0f41..0f083f5 100644
--- a/dlls/d3dx9_34/d3dx9_34.spec
+++ b/dlls/d3dx9_34/d3dx9_34.spec
@@ -134,7 +134,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec
index 1ff0f41..0f083f5 100644
--- a/dlls/d3dx9_35/d3dx9_35.spec
+++ b/dlls/d3dx9_35/d3dx9_35.spec
@@ -134,7 +134,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index 20571b1..2b5035e 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
index b0b9846..aa98b1a 100644
--- a/dlls/d3dx9_36/mesh.c
+++ b/dlls/d3dx9_36/mesh.c
@@ -4046,6 +4046,12 @@ HRESULT WINAPI D3DXFrameDestroy(D3DXFRAME *frame, ID3DXAllocateHierarchy *alloc_
return D3D_OK;
}
+D3DXFRAME* WINAPI D3DXFrameFind(const D3DXFRAME *frame_root, const char *name)
+{
+ FIXME("frame_root %p, name %s stub.\n", frame_root, debugstr_a(name));
+ return NULL;
+}
+
HRESULT WINAPI D3DXLoadMeshFromXA(const char *filename, DWORD options, struct IDirect3DDevice9 *device,
struct ID3DXBuffer **adjacency, struct ID3DXBuffer **materials, struct ID3DXBuffer **effect_instances,
DWORD *num_materials, struct ID3DXMesh **mesh)
diff --git a/dlls/d3dx9_37/d3dx9_37.spec b/dlls/d3dx9_37/d3dx9_37.spec
index 20571b1..2b5035e 100644
--- a/dlls/d3dx9_37/d3dx9_37.spec
+++ b/dlls/d3dx9_37/d3dx9_37.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_38/d3dx9_38.spec b/dlls/d3dx9_38/d3dx9_38.spec
index 20571b1..2b5035e 100644
--- a/dlls/d3dx9_38/d3dx9_38.spec
+++ b/dlls/d3dx9_38/d3dx9_38.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_39/d3dx9_39.spec b/dlls/d3dx9_39/d3dx9_39.spec
index 20571b1..2b5035e 100644
--- a/dlls/d3dx9_39/d3dx9_39.spec
+++ b/dlls/d3dx9_39/d3dx9_39.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_40/d3dx9_40.spec b/dlls/d3dx9_40/d3dx9_40.spec
index 20571b1..2b5035e 100644
--- a/dlls/d3dx9_40/d3dx9_40.spec
+++ b/dlls/d3dx9_40/d3dx9_40.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_41/d3dx9_41.spec b/dlls/d3dx9_41/d3dx9_41.spec
index 20571b1..2b5035e 100644
--- a/dlls/d3dx9_41/d3dx9_41.spec
+++ b/dlls/d3dx9_41/d3dx9_41.spec
@@ -135,7 +135,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_42/d3dx9_42.spec b/dlls/d3dx9_42/d3dx9_42.spec
index 0e888d7..1cf82a6 100644
--- a/dlls/d3dx9_42/d3dx9_42.spec
+++ b/dlls/d3dx9_42/d3dx9_42.spec
@@ -133,7 +133,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
diff --git a/dlls/d3dx9_43/d3dx9_43.spec b/dlls/d3dx9_43/d3dx9_43.spec
index 0e888d7..1cf82a6 100644
--- a/dlls/d3dx9_43/d3dx9_43.spec
+++ b/dlls/d3dx9_43/d3dx9_43.spec
@@ -133,7 +133,7 @@
@ stub D3DXFrameAppendChild(ptr ptr)
@ stub D3DXFrameCalculateBoundingSphere(ptr ptr ptr)
@ stdcall D3DXFrameDestroy(ptr ptr)
-@ stub D3DXFrameFind(ptr str)
+@ stdcall D3DXFrameFind(ptr str)
@ stub D3DXFrameNumNamedMatrices(ptr)
@ stub D3DXFrameRegisterNamedMatrices(ptr ptr)
@ stdcall D3DXFresnelTerm(float float)
--
2.9.0

View File

@@ -1,17 +1,17 @@
From 69c020763f71d57ada7d5670883b36add6444039 Mon Sep 17 00:00:00 2001
From 227e86c26da931222508fab0b175db09ce1b4ce2 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 6 May 2017 01:32:51 +0200
Subject: d3dx9_36/tests: Fix some test failures.
---
dlls/d3dx9_36/tests/math.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
dlls/d3dx9_36/tests/math.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dx9_36/tests/math.c b/dlls/d3dx9_36/tests/math.c
index 3843abea9be..d21a229bbbe 100644
index 0e9853abe38..8bc462c48a4 100644
--- a/dlls/d3dx9_36/tests/math.c
+++ b/dlls/d3dx9_36/tests/math.c
@@ -232,7 +232,7 @@ static void D3DXColorTest(void)
@@ -244,7 +244,7 @@ static void D3DXColorTest(void)
/*_______________D3DXColorLerp________________*/
expected.r = 0.32f; expected.g = 0.69f; expected.b = 0.356f; expected.a = 0.897f;
D3DXColorLerp(&got,&color,&color1,scale);
@@ -20,16 +20,7 @@ index 3843abea9be..d21a229bbbe 100644
/* Test the NULL case */
funcpointer = D3DXColorLerp(&got,NULL,&color1,scale);
ok(funcpointer == NULL, "Expected: %p, Got: %p\n", NULL, funcpointer);
@@ -302,7 +302,7 @@ static void D3DXFresnelTest(void)
BOOL equal;
fresnel = D3DXFresnelTerm(0.5f, 1.5f);
- equal = compare_float(fresnel, 8.91867056e-02f, 1);
+ equal = compare_float(fresnel, 8.91867056e-02f, 2);
ok(equal, "Got unexpected Fresnel term %.8e.\n", fresnel);
}
@@ -2947,7 +2947,7 @@ static void test_D3DXSHEvalDirectionalLight(void)
@@ -2994,7 +2994,7 @@ static void test_D3DXSHEvalDirectionalLight(void)
expected = j + test[l].boffset;
else
expected = test[l].blue_out[startindex + j];
@@ -38,7 +29,7 @@ index 3843abea9be..d21a229bbbe 100644
ok(equal, "Blue: case %u, order %u: expected[%u] = %.8e, received %.8e.\n",
l, order, j, expected, blue_out[j]);
}
@@ -3292,7 +3292,7 @@ static void test_D3DXSHMultiply3(void)
@@ -3339,7 +3339,7 @@ static void test_D3DXSHMultiply3(void)
D3DXSHMultiply3(c, c, b);
for (i = 0; i < ARRAY_SIZE(expected_aliased); ++i)
{
@@ -48,5 +39,5 @@ index 3843abea9be..d21a229bbbe 100644
}
}
--
2.12.2
2.14.2

View File

@@ -1,4 +1,4 @@
From e7126b3b16c10175052730398d4f1e578b024747 Mon Sep 17 00:00:00 2001
From 4ca5b86202106da7569f8156e0769aa6318c275d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 5 Feb 2017 11:54:21 +0100
Subject: ws2_32/tests: Add test for completion notification flags.
@@ -8,10 +8,10 @@ Subject: ws2_32/tests: Add test for completion notification flags.
1 file changed, 23 insertions(+)
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index 720808887cf..0b8682e2edc 100644
index 179ace4c6ae..5504a0862a9 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -78,6 +78,10 @@ static int (WINAPI *pWSAEnumNameSpaceProvidersA)(LPDWORD,LPWSANAMESPACE_INFOA)
@@ -85,6 +85,10 @@ static int (WINAPI *pWSAEnumNameSpaceProvidersA)(LPDWORD,LPWSANAMESPACE_INFOA)
static int (WINAPI *pWSAEnumNameSpaceProvidersW)(LPDWORD,LPWSANAMESPACE_INFOW);
static int (WINAPI *pWSAPoll)(WSAPOLLFD *,ULONG,INT);
@@ -22,25 +22,19 @@ index 720808887cf..0b8682e2edc 100644
/* Function pointers from iphlpapi */
static DWORD (WINAPI *pGetAdaptersInfo)(PIP_ADAPTER_INFO,PULONG);
static DWORD (WINAPI *pGetIpForwardTable)(PMIB_IPFORWARDTABLE,PULONG,BOOL);
@@ -1222,6 +1226,7 @@ static void Init (void)
WORD ver = MAKEWORD (2, 2);
WSADATA data;
HMODULE hws2_32 = GetModuleHandleA("ws2_32.dll"), hiphlpapi;
+ HMODULE hntdll = GetModuleHandleA("ntdll.dll");
@@ -1310,7 +1314,11 @@ static void Init (void)
pfreeaddrinfo = (void *)GetProcAddress(hws2_32, "freeaddrinfo");
pgetaddrinfo = (void *)GetProcAddress(hws2_32, "getaddrinfo");
@@ -1238,6 +1243,9 @@ static void Init (void)
pWSAEnumNameSpaceProvidersW = (void *)GetProcAddress(hws2_32, "WSAEnumNameSpaceProvidersW");
pWSAPoll = (void *)GetProcAddress(hws2_32, "WSAPoll");
ntdll = LoadLibraryA("ntdll.dll");
if (ntdll)
+ {
pNtClose = (void *)GetProcAddress(ntdll, "NtClose");
+ pNtSetInformationFile = (void *)GetProcAddress(ntdll, "NtSetInformationFile");
+ pNtQueryInformationFile = (void *)GetProcAddress(ntdll, "NtQueryInformationFile");
+ }
+ pNtSetInformationFile = (void *)GetProcAddress(hntdll, "NtSetInformationFile");
+ pNtQueryInformationFile = (void *)GetProcAddress(hntdll, "NtQueryInformationFile");
+
hiphlpapi = LoadLibraryA("iphlpapi.dll");
if (hiphlpapi)
{
@@ -9006,10 +9014,13 @@ end:
ok ( WSAStartup ( ver, &data ) == 0, "WSAStartup failed\n" );
tls = TlsAlloc();
@@ -9623,10 +9631,13 @@ end:
static void test_completion_port(void)
{
@@ -54,7 +48,7 @@ index 720808887cf..0b8682e2edc 100644
char buf[1024];
WSABUF bufs;
DWORD num_bytes, flags;
@@ -9459,6 +9470,11 @@ static void test_completion_port(void)
@@ -10238,6 +10249,11 @@ static void test_completion_port(void)
io_port = CreateIoCompletionPort((HANDLE)dest, previous_port, 236, 0);
ok(io_port != NULL, "failed to create completion port %u\n", GetLastError());
@@ -66,7 +60,7 @@ index 720808887cf..0b8682e2edc 100644
bret = pAcceptEx(src, dest, buf, sizeof(buf) - 2*(sizeof(struct sockaddr_in) + 16),
sizeof(struct sockaddr_in) + 16, sizeof(struct sockaddr_in) + 16,
&num_bytes, &ov);
@@ -9484,6 +9500,13 @@ static void test_completion_port(void)
@@ -10263,6 +10279,13 @@ static void test_completion_port(void)
ok(olp == &ov, "Overlapped structure is at %p\n", olp);
ok(olp && (olp->Internal == (ULONG)STATUS_SUCCESS), "Internal status is %lx\n", olp ? olp->Internal : 0);
@@ -81,5 +75,5 @@ index 720808887cf..0b8682e2edc 100644
key = 0xdeadbeef;
num_bytes = 0xdeadbeef;
--
2.11.0
2.14.2

View File

@@ -1,4 +1,4 @@
From 02f531e6fb014016869e1d7ba191b77551c349e7 Mon Sep 17 00:00:00 2001
From 76daaa88f6a1ec55668fdb5a1abcc4ac31149976 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 16 Aug 2017 02:45:23 +0200
Subject: kernelbase: Add semi-stub for PathCchCombineEx.
@@ -19,11 +19,11 @@ Subject: kernelbase: Add semi-stub for PathCchCombineEx.
create mode 100644 include/pathcch.h
diff --git a/configure.ac b/configure.ac
index 44c7eed86f8..5c0bf350739 100644
index 04091fc0ec9..4bd6bb35c8a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3215,7 +3215,8 @@ WINE_CONFIG_DLL(jsproxy,,[implib])
WINE_CONFIG_TEST(dlls/jsproxy/tests)
@@ -3235,7 +3235,8 @@ WINE_CONFIG_TEST(dlls/jsproxy/tests)
WINE_CONFIG_DLL(kerberos)
WINE_CONFIG_DLL(kernel32,,[clean,implib])
WINE_CONFIG_TEST(dlls/kernel32/tests)
-WINE_CONFIG_DLL(kernelbase)
@@ -58,7 +58,7 @@ index 74df98ce2d5..247c6bf392a 100644
C_SRCS = \
main.c
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index 85b23237bbc..1ec67e37b0b 100644
index 395b65839b8..f1745e00c89 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -1037,7 +1037,7 @@
@@ -71,7 +71,7 @@ index 85b23237bbc..1ec67e37b0b 100644
# @ stub PathCchIsRoot
# @ stub PathCchRemoveBackslash
diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c
index ff1b2f67623..02d538e76b0 100644
index b0a34786e2e..0410f38a122 100644
--- a/dlls/kernelbase/main.c
+++ b/dlls/kernelbase/main.c
@@ -19,7 +19,11 @@
@@ -86,7 +86,7 @@ index ff1b2f67623..02d538e76b0 100644
WINE_DEFAULT_DEBUG_CHANNEL(kernelbase);
@@ -57,3 +61,28 @@ BOOL WINAPI QuirkIsEnabled3(void *unk1, void *unk2)
@@ -83,3 +87,28 @@ BOOL WINAPI QuirkIsEnabled3(void *unk1, void *unk2)
FIXME("(%p, %p) stub!\n", unk1, unk2);
return FALSE;
}
@@ -290,5 +290,5 @@ index 00000000000..8831c5238d2
+
+HRESULT WINAPI PathCchCombineEx(WCHAR *out, SIZE_T size, const WCHAR *path1, const WCHAR *path2, DWORD flags);
--
2.14.1
2.14.2

View File

@@ -1,4 +1,4 @@
From 09b4c584ce6017ae0887edf18d989807c40bec4e Mon Sep 17 00:00:00 2001
From 700f06e65a7f0aa474d40ad238138866e2c51ca0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 18 Oct 2015 03:27:41 +0200
Subject: mpr: Return correct error code for non network paths and
@@ -14,7 +14,7 @@ Signed-off-by: Michael MĂĽller <michael@fds-team.de>
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/dlls/mpr/tests/mpr.c b/dlls/mpr/tests/mpr.c
index 364ac2cc601..19097b8a286 100644
index a6af1b57f8d..1b16369d514 100644
--- a/dlls/mpr/tests/mpr.c
+++ b/dlls/mpr/tests/mpr.c
@@ -101,25 +101,23 @@ static void test_WNetGetRemoteName(void)
@@ -37,7 +37,7 @@ index 364ac2cc601..19097b8a286 100644
- todo_wine{
if(drive_type == DRIVE_REMOTE)
+ todo_wine
ok(ret == WN_BAD_VALUE, "WNetGetUniversalNameA failed: %08x\n", ret);
ok(ret == WN_BAD_VALUE || ret == WN_MORE_DATA, "WNetGetUniversalNameA failed: %08x\n", ret);
else
ok(ret == WN_NOT_CONNECTED || ret == WN_NO_NET_OR_BAD_PATH,
"(%s) WNetGetUniversalNameA gave wrong error: %u\n", driveA, ret);
@@ -52,7 +52,7 @@ index 364ac2cc601..19097b8a286 100644
- todo_wine {
if(drive_type == DRIVE_REMOTE)
+ todo_wine
ok(ret == WN_BAD_POINTER, "WNetGetUniversalNameA failed: %08x\n", ret);
ok(ret == WN_BAD_POINTER || ret == WN_BAD_VALUE, "WNetGetUniversalNameA failed: %08x\n", ret);
else
ok(ret == WN_NOT_CONNECTED || ret == WN_BAD_VALUE,
"(%s) WNetGetUniversalNameA gave wrong error: %u\n", driveA, ret);
@@ -61,10 +61,10 @@ index 364ac2cc601..19097b8a286 100644
fail_size = sizeof(driveA) / sizeof(char) - 1;
ret = WNetGetUniversalNameA(driveA, REMOTE_NAME_INFO_LEVEL,
diff --git a/dlls/mpr/wnet.c b/dlls/mpr/wnet.c
index cbbc1bdfb04..1514d014e8b 100644
index 7b24693e0e8..78759ecb152 100644
--- a/dlls/mpr/wnet.c
+++ b/dlls/mpr/wnet.c
@@ -2345,7 +2345,7 @@ DWORD WINAPI WNetGetUniversalNameA ( LPCSTR lpLocalPath, DWORD dwInfoLevel,
@@ -2348,7 +2348,7 @@ DWORD WINAPI WNetGetUniversalNameA ( LPCSTR lpLocalPath, DWORD dwInfoLevel,
break;
}
case REMOTE_NAME_INFO_LEVEL:
@@ -74,5 +74,5 @@ index cbbc1bdfb04..1514d014e8b 100644
default:
--
2.13.1
2.14.2

View File

@@ -1,4 +1,4 @@
From 246ebe70f4b1ffb5a41098045c0a29be6055d7dd Mon Sep 17 00:00:00 2001
From 314e990c95edd137695f81edb0ce138615cd11b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 26 Jun 2017 16:18:09 +0200
Subject: msi: Create dummy thread to initialize COM for custom actions.
@@ -8,7 +8,7 @@ Subject: msi: Create dummy thread to initialize COM for custom actions.
1 file changed, 48 insertions(+)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 24ada643035..178e3949ee2 100644
index 58a831e7e63..e440ee77fd9 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -160,6 +160,13 @@ static const WCHAR szWriteEnvironmentStrings[] =
@@ -25,7 +25,7 @@ index 24ada643035..178e3949ee2 100644
static INT ui_actionstart(MSIPACKAGE *package, LPCWSTR action, LPCWSTR description, LPCWSTR template)
{
WCHAR query[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
@@ -7946,6 +7953,42 @@ static UINT ACTION_PerformActionSequence(MSIPACKAGE *package, UINT seq)
@@ -7968,6 +7975,42 @@ static UINT ACTION_PerformActionSequence(MSIPACKAGE *package, UINT seq)
return rc;
}
@@ -68,15 +68,15 @@ index 24ada643035..178e3949ee2 100644
/****************************************************
* TOP level entry points
*****************************************************/
@@ -7956,6 +7999,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
@@ -7978,6 +8021,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
static const WCHAR szDisableRollback[] = {'D','I','S','A','B','L','E','R','O','L','L','B','A','C','K',0};
static const WCHAR szAction[] = {'A','C','T','I','O','N',0};
WCHAR *reinstall, *remove, *patch, *productcode, *action;
WCHAR *reinstall = NULL, *productcode, *action;
+ struct dummy_thread thread_info = {NULL, NULL, NULL};
UINT rc;
DWORD len = 0;
@@ -8023,6 +8067,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
@@ -8034,6 +8078,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
msi_adjust_privilege_properties( package );
msi_set_context( package );
@@ -85,15 +85,15 @@ index 24ada643035..178e3949ee2 100644
productcode = msi_dup_property( package->db, szProductCode );
if (strcmpiW( productcode, package->ProductCode ))
{
@@ -8059,6 +8105,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
@@ -8070,6 +8116,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
/* finish up running custom actions */
ACTION_FinishCustomActions(package);
+ stop_dummy_thread(&thread_info);
+
if (package->need_rollback && !reinstall)
if (package->need_rollback && !(reinstall = msi_dup_property( package->db, szReinstall )))
{
WARN("installation failed, running rollback script\n");
--
2.14.1
2.14.2

View File

@@ -1 +1 @@
Fixes: [!18070] Workaround COM/MTA issues due to lack of separate msi custom action process
Fixes: [18070] Workaround COM/MTA issues due to lack of separate msi custom action process

View File

@@ -1,4 +1,4 @@
From 76d196e4f7e4b4a74dbd4777a29a39a3baf3762d Mon Sep 17 00:00:00 2001
From 61bf2e5fc768bcdf7c28fa459c9e1f8a98912169 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Thu, 16 Jan 2014 20:56:49 -0700
Subject: ntdll: Add support for junction point creation.
@@ -12,7 +12,7 @@ Subject: ntdll: Add support for junction point creation.
create mode 100644 include/ntifs.h
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 9ebcdd54bc3..0ebbd3a90ec 100644
index 6a456efc46c..a058e9b362f 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -108,12 +108,14 @@
@@ -30,7 +30,7 @@ index 9ebcdd54bc3..0ebbd3a90ec 100644
#define SECSPERDAY 86400
#define SECS_1601_TO_1970 ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY)
@@ -1655,6 +1657,76 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event,
@@ -1653,6 +1655,76 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event,
}
@@ -107,7 +107,7 @@ index 9ebcdd54bc3..0ebbd3a90ec 100644
/**************************************************************************
* NtFsControlFile [NTDLL.@]
* ZwFsControlFile [NTDLL.@]
@@ -1807,11 +1879,30 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
@@ -1742,11 +1814,30 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
}
break;
}
@@ -139,7 +139,7 @@ index 9ebcdd54bc3..0ebbd3a90ec 100644
return server_ioctl_file( handle, event, apc, apc_context, io, code,
in_buffer, in_size, out_buffer, out_size );
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index f66ac1d74f0..86fd6d0bc65 100644
index d1b8e5fee84..cfa60961d6d 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -37,6 +37,7 @@
@@ -150,7 +150,7 @@ index f66ac1d74f0..86fd6d0bc65 100644
#ifndef IO_COMPLETION_ALL_ACCESS
#define IO_COMPLETION_ALL_ACCESS 0x001F0003
@@ -4378,6 +4379,98 @@ static void test_query_ea(void)
@@ -4374,6 +4375,98 @@ static void test_query_ea(void)
#undef EA_BUFFER_SIZE
}
@@ -249,24 +249,24 @@ index f66ac1d74f0..86fd6d0bc65 100644
START_TEST(file)
{
HMODULE hkernel32 = GetModuleHandleA("kernel32.dll");
@@ -4444,4 +4537,5 @@ START_TEST(file)
@@ -4440,4 +4533,5 @@ START_TEST(file)
test_ioctl();
test_flush_buffers_file();
test_query_ea();
+ test_junction_points();
}
diff --git a/include/Makefile.in b/include/Makefile.in
index 1dd6aafa324..31a6ac1d441 100644
index cc42f66ebd4..255797759fb 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -532,6 +532,7 @@ HEADER_SRCS = \
@@ -550,6 +550,7 @@ HEADER_SRCS = \
ntddstor.h \
ntdef.h \
ntdsapi.h \
+ ntifs.h \
ntlsa.h \
ntquery.h \
ntsecapi.h \
ntsecpkg.h \
diff --git a/include/ntifs.h b/include/ntifs.h
new file mode 100644
index 00000000000..db07c28a5df
@@ -326,5 +326,5 @@ index 00000000000..db07c28a5df
+
+#endif /* __WINE_NTIFS_H */
--
2.13.1
2.14.2

Some files were not shown because too many files have changed in this diff Show More