From e5da84dc3637dc6235c24ce80860e3c23641c5b0 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 25 Mar 2020 08:21:22 +1100 Subject: [PATCH] Rebase against 9c190f8118faa2f4708e86340e3e0440f668835b --- ...-Add-tests-for-job-object-accounting.patch | 44 +++++++------- patches/patchinstall.sh | 5 +- ...ndom-name-when-no-name-was-passed-to.patch | 36 +++++++----- ...-xaudio2-Add-support-for-xactengine3.patch | 4 +- ...Engine-CreateSoundBank-return-correc.patch | 2 +- ...o2_7-Trace-FAudio-version-being-used.patch | 57 ------------------- 6 files changed, 48 insertions(+), 100 deletions(-) delete mode 100644 patches/xactengine-initial/0012-xaudio2_7-Trace-FAudio-version-being-used.patch diff --git a/patches/kernel32-Job_Tests/0001-kernel32-tests-Add-tests-for-job-object-accounting.patch b/patches/kernel32-Job_Tests/0001-kernel32-tests-Add-tests-for-job-object-accounting.patch index 53542ad9..5e858c7a 100644 --- a/patches/kernel32-Job_Tests/0001-kernel32-tests-Add-tests-for-job-object-accounting.patch +++ b/patches/kernel32-Job_Tests/0001-kernel32-tests-Add-tests-for-job-object-accounting.patch @@ -1,4 +1,4 @@ -From e9f5574ee2a3b6a0b2668747aef7d95c176ece8f Mon Sep 17 00:00:00 2001 +From 8781454669b29f8e2a2c0406ed4b48b435354a0c Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sun, 24 Sep 2017 22:45:22 +0200 Subject: [PATCH] kernel32/tests: Add tests for job object accounting @@ -9,10 +9,10 @@ Signed-off-by: Mark Jansen 1 file changed, 95 insertions(+) diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c -index f181536e7a6..4c2709cce0e 100644 +index 32818042337..2ecd3dc10e8 100644 --- a/dlls/kernel32/tests/process.c +++ b/dlls/kernel32/tests/process.c -@@ -2423,6 +2423,69 @@ static void _create_process(int line, const char *command, LPPROCESS_INFORMATION +@@ -2398,6 +2398,69 @@ static void _create_process(int line, const char *command, LPPROCESS_INFORMATION ok_(__FILE__, line)(ret, "CreateProcess error %u\n", GetLastError()); } @@ -82,7 +82,7 @@ index f181536e7a6..4c2709cce0e 100644 static void test_IsProcessInJob(void) { -@@ -2449,11 +2512,15 @@ static void test_IsProcessInJob(void) +@@ -2423,11 +2486,15 @@ static void test_IsProcessInJob(void) ret = pIsProcessInJob(pi.hProcess, job, &out); ok(ret, "IsProcessInJob error %u\n", GetLastError()); ok(!out, "IsProcessInJob returned out=%u\n", out); @@ -98,7 +98,7 @@ index f181536e7a6..4c2709cce0e 100644 ret = pAssignProcessToJobObject(job, pi.hProcess); ok(ret, "AssignProcessToJobObject error %u\n", GetLastError()); -@@ -2462,11 +2529,15 @@ static void test_IsProcessInJob(void) +@@ -2436,11 +2503,15 @@ static void test_IsProcessInJob(void) ret = pIsProcessInJob(pi.hProcess, job, &out); ok(ret, "IsProcessInJob error %u\n", GetLastError()); ok(out, "IsProcessInJob returned out=%u\n", out); @@ -114,7 +114,7 @@ index f181536e7a6..4c2709cce0e 100644 out = FALSE; ret = pIsProcessInJob(pi.hProcess, NULL, &out); -@@ -2482,6 +2553,8 @@ static void test_IsProcessInJob(void) +@@ -2454,6 +2525,8 @@ static void test_IsProcessInJob(void) ret = pIsProcessInJob(pi.hProcess, job, &out); ok(ret, "IsProcessInJob error %u\n", GetLastError()); ok(out, "IsProcessInJob returned out=%u\n", out); @@ -123,7 +123,7 @@ index f181536e7a6..4c2709cce0e 100644 CloseHandle(pi.hProcess); CloseHandle(pi.hThread); -@@ -2498,11 +2571,15 @@ static void test_TerminateJobObject(void) +@@ -2470,11 +2543,15 @@ static void test_TerminateJobObject(void) job = pCreateJobObjectW(NULL, NULL); ok(job != NULL, "CreateJobObject error %u\n", GetLastError()); @@ -139,7 +139,7 @@ index f181536e7a6..4c2709cce0e 100644 ret = pTerminateJobObject(job, 123); ok(ret, "TerminateJobObject error %u\n", GetLastError()); -@@ -2510,6 +2587,8 @@ static void test_TerminateJobObject(void) +@@ -2483,6 +2560,8 @@ static void test_TerminateJobObject(void) dwret = WaitForSingleObject(pi.hProcess, 1000); ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret); if (dwret == WAIT_TIMEOUT) TerminateProcess(pi.hProcess, 0); @@ -148,7 +148,7 @@ index f181536e7a6..4c2709cce0e 100644 ret = GetExitCodeProcess(pi.hProcess, &dwret); ok(ret, "GetExitCodeProcess error %u\n", GetLastError()); -@@ -2529,6 +2608,8 @@ static void test_TerminateJobObject(void) +@@ -2500,6 +2579,8 @@ static void test_TerminateJobObject(void) ret = pAssignProcessToJobObject(job, pi.hProcess); ok(!ret, "AssignProcessToJobObject unexpectedly succeeded\n"); expect_eq_d(ERROR_ACCESS_DENIED, GetLastError()); @@ -157,7 +157,7 @@ index f181536e7a6..4c2709cce0e 100644 CloseHandle(pi.hProcess); CloseHandle(pi.hThread); -@@ -2715,11 +2796,15 @@ static void test_KillOnJobClose(void) +@@ -2687,11 +2768,15 @@ static void test_KillOnJobClose(void) return; } ok(ret, "SetInformationJobObject error %u\n", GetLastError()); @@ -173,7 +173,7 @@ index f181536e7a6..4c2709cce0e 100644 CloseHandle(job); -@@ -2823,6 +2908,8 @@ static HANDLE test_AddSelfToJob(void) +@@ -2801,6 +2886,8 @@ static HANDLE test_AddSelfToJob(void) ret = pAssignProcessToJobObject(job, GetCurrentProcess()); ok(ret, "AssignProcessToJobObject error %u\n", GetLastError()); @@ -182,16 +182,16 @@ index f181536e7a6..4c2709cce0e 100644 return job; } -@@ -2850,6 +2937,8 @@ static void test_jobInheritance(HANDLE job) +@@ -2822,6 +2909,8 @@ static void test_jobInheritance(HANDLE job) ret = pIsProcessInJob(pi.hProcess, job, &out); ok(ret, "IsProcessInJob error %u\n", GetLastError()); ok(out, "IsProcessInJob returned out=%u\n", out); + test_assigned_proc(job, 2, GetCurrentProcessId(), pi.dwProcessId); + test_accounting(job, 2, 2, 0); - dwret = WaitForSingleObject(pi.hProcess, 1000); - ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret); -@@ -2878,6 +2967,8 @@ static void test_BreakawayOk(HANDLE job) + wait_and_close_child_process(&pi); + } +@@ -2844,6 +2933,8 @@ static void test_BreakawayOk(HANDLE job) ret = CreateProcessA(NULL, buffer, NULL, NULL, FALSE, CREATE_BREAKAWAY_FROM_JOB, NULL, NULL, &si, &pi); ok(!ret, "CreateProcessA expected failure\n"); expect_eq_d(ERROR_ACCESS_DENIED, GetLastError()); @@ -200,24 +200,24 @@ index f181536e7a6..4c2709cce0e 100644 if (ret) { -@@ -2900,6 +2991,8 @@ static void test_BreakawayOk(HANDLE job) +@@ -2861,6 +2952,8 @@ static void test_BreakawayOk(HANDLE job) ret = pIsProcessInJob(pi.hProcess, job, &out); ok(ret, "IsProcessInJob error %u\n", GetLastError()); ok(!out, "IsProcessInJob returned out=%u\n", out); + test_assigned_proc(job, 1, GetCurrentProcessId()); + test_accounting(job, 2, 1, 0); - dwret = WaitForSingleObject(pi.hProcess, 1000); - ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret); -@@ -2917,6 +3010,8 @@ static void test_BreakawayOk(HANDLE job) + wait_and_close_child_process(&pi); + +@@ -2874,6 +2967,8 @@ static void test_BreakawayOk(HANDLE job) ret = pIsProcessInJob(pi.hProcess, job, &out); ok(ret, "IsProcessInJob error %u\n", GetLastError()); ok(!out, "IsProcessInJob returned out=%u\n", out); + test_assigned_proc(job, 1, GetCurrentProcessId()); + test_accounting(job, 2, 1, 0); - dwret = WaitForSingleObject(pi.hProcess, 1000); - ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret); + wait_and_close_child_process(&pi); + -- -2.23.0 +2.25.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 90d59b7d..97fe5174 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "00e55c8fc0c08e14c39880e62526f8503468b641" + echo "9c190f8118faa2f4708e86340e3e0440f668835b" } # Show version information @@ -7256,7 +7256,7 @@ fi # | dlls/xactengine3_7/Makefile.in, dlls/xactengine3_7/xactengine3_7.spec, dlls/xaudio2_7/Makefile.in, # | dlls/xaudio2_7/tests/Makefile.in, dlls/xaudio2_7/tests/globals.xgs, dlls/xaudio2_7/tests/rsrc.rc, # | dlls/xaudio2_7/tests/xact.c, dlls/xaudio2_7/tests/xaudio2.c, dlls/xaudio2_7/xact_classes.idl, dlls/xaudio2_7/xact_dll.c, -# | dlls/xaudio2_7/xaudio_dll.c, include/Makefile.in, include/config.h.in, include/xact3.idl, include/xact3wb.h +# | include/Makefile.in, include/xact3.idl, include/xact3wb.h # | if test "$enable_xactengine_initial" -eq 1; then patch_apply xactengine-initial/0001-include-Add-xact3.idl.patch @@ -7270,7 +7270,6 @@ if test "$enable_xactengine_initial" -eq 1; then patch_apply xactengine-initial/0009-xaudio2_7-unwrap-structure-based-of-it-s-type.patch patch_apply xactengine-initial/0010-xaudio2_7-Correct-callback-to-windows-function.patch patch_apply xactengine-initial/0011-xaudio2_7-Initial-IXACT3Engine-tests.patch - patch_apply xactengine-initial/0012-xaudio2_7-Trace-FAudio-version-being-used.patch patch_apply xactengine-initial/0013-xaudio2_7-Trace-FAudio-version-being-used.patch patch_apply xactengine-initial/0014-include-Add-XACTENGINE_-error-codes.patch patch_apply xactengine-initial/0015-include-Add-XACT-defines.patch diff --git a/patches/server-Desktop_Refcount/0004-server-Assign-random-name-when-no-name-was-passed-to.patch b/patches/server-Desktop_Refcount/0004-server-Assign-random-name-when-no-name-was-passed-to.patch index 45ae1388..1e42ba5c 100644 --- a/patches/server-Desktop_Refcount/0004-server-Assign-random-name-when-no-name-was-passed-to.patch +++ b/patches/server-Desktop_Refcount/0004-server-Assign-random-name-when-no-name-was-passed-to.patch @@ -1,19 +1,19 @@ -From 7db6d5b2412223cc16ff726502c7b3c66eab41c3 Mon Sep 17 00:00:00 2001 +From 64f380eeb8ba1de36b47b6035510373fd1edeaac Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 24 Feb 2016 19:18:52 +0100 -Subject: [PATCH 3/3] server: Assign random name when no name was passed to +Subject: [PATCH] server: Assign random name when no name was passed to create_winstation. --- dlls/user32/tests/winstation.c | 4 ++-- - server/winstation.c | 24 +++++++++++++++++++++++- - 2 files changed, 25 insertions(+), 3 deletions(-) + server/winstation.c | 23 ++++++++++++++++++++++- + 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/dlls/user32/tests/winstation.c b/dlls/user32/tests/winstation.c -index 6bebfe9..1ca71a1 100644 +index 4aa5565b96c..9eb3b433c11 100644 --- a/dlls/user32/tests/winstation.c +++ b/dlls/user32/tests/winstation.c -@@ -220,8 +220,8 @@ static void test_handles(void) +@@ -225,8 +225,8 @@ static void test_handles(void) memset( buffer, 0, sizeof(buffer) ); ret = GetUserObjectInformationA( w2, UOI_NAME, buffer, sizeof(buffer), &size ); ok( ret, "GetUserObjectInformationA failed with error %u\n", GetLastError() ); @@ -25,18 +25,25 @@ index 6bebfe9..1ca71a1 100644 SetLastError( 0xdeadbeef ); w3 = OpenWindowStationA( "", TRUE, WINSTA_ALL_ACCESS ); diff --git a/server/winstation.c b/server/winstation.c -index fde6b68..f96936f 100644 +index b120859b39a..fee8980224c 100644 --- a/server/winstation.c +++ b/server/winstation.c -@@ -113,9 +113,30 @@ static const struct object_ops desktop_ops = +@@ -38,6 +38,7 @@ + #include "user.h" + #include "file.h" + #include "security.h" ++#include "unicode.h" + + + static struct list winstation_list = LIST_INIT(winstation_list); +@@ -114,9 +115,28 @@ static const struct object_ops desktop_ops = static struct winstation *create_winstation( struct object *root, const struct unicode_str *name, unsigned int attr, unsigned int flags ) { -+ static const WCHAR formatW[] = {'S','e','r','v','i','c','e','-','0','x','0','-','%','x','$',0}; + static unsigned int id = 0x10000; struct winstation *winstation; + struct unicode_str default_name; -+ WCHAR buffer[32]; ++ char buffer[32]; - if ((winstation = create_named_object( root, &winstation_ops, name, attr, NULL ))) + if (name->len) @@ -48,9 +55,8 @@ index fde6b68..f96936f 100644 + do + { + if (!++id) id = 1; /* avoid an id of 0 */ -+ sprintfW( buffer, formatW, id ); -+ default_name.str = buffer; -+ default_name.len = strlenW( buffer ) * sizeof(WCHAR); ++ sprintf( buffer, "Service-0x0-%x$", id); ++ ascii_to_unicode_str( buffer, &default_name ); + winstation = create_named_object( root, &winstation_ops, &default_name, attr & ~OBJ_OPENIF, NULL ); + } + while (!winstation && get_error() == STATUS_OBJECT_NAME_COLLISION); @@ -60,7 +66,7 @@ index fde6b68..f96936f 100644 { if (get_error() != STATUS_OBJECT_NAME_EXISTS) { -@@ -133,6 +154,7 @@ static struct winstation *create_winstation( struct object *root, const struct u +@@ -134,6 +154,7 @@ static struct winstation *create_winstation( struct object *root, const struct u } else clear_error(); } @@ -69,5 +75,5 @@ index fde6b68..f96936f 100644 } -- -1.9.1 +2.25.1 diff --git a/patches/xactengine-initial/0002-xaudio2-Add-support-for-xactengine3.patch b/patches/xactengine-initial/0002-xaudio2-Add-support-for-xactengine3.patch index beb8f79a..6ffd3f48 100644 --- a/patches/xactengine-initial/0002-xaudio2-Add-support-for-xactengine3.patch +++ b/patches/xactengine-initial/0002-xaudio2-Add-support-for-xactengine3.patch @@ -1375,11 +1375,11 @@ index 0000000000..07f866606d + * -flibit + */ + if (pParams->pXAudio2 != NULL){ -+ FIXME("pXAudio2 parameter not supported! Falling back to NULL"); ++ FIXME("pXAudio2 parameter not supported! Falling back to NULL\n"); + params.pXAudio2 = NULL; + + if (pParams->pMasteringVoice != NULL){ -+ FIXME("pXAudio2 parameter not supported! Falling back to NULL"); ++ FIXME("pXAudio2 parameter not supported! Falling back to NULL\n"); + params.pMasteringVoice = NULL; + } + } diff --git a/patches/xactengine-initial/0005-xaudio2_7-IXACT3Engine-CreateSoundBank-return-correc.patch b/patches/xactengine-initial/0005-xaudio2_7-IXACT3Engine-CreateSoundBank-return-correc.patch index 9adb9610..04034d67 100644 --- a/patches/xactengine-initial/0005-xaudio2_7-IXACT3Engine-CreateSoundBank-return-correc.patch +++ b/patches/xactengine-initial/0005-xaudio2_7-IXACT3Engine-CreateSoundBank-return-correc.patch @@ -28,7 +28,7 @@ index 1f580519d4..9cec216002 100644 - if(FAILED(hr)) - return hr; + if (ret != 0) { -+ ERR("Failed to CreateInMemoryWaveBank: %d\n", ret); ++ ERR("Failed to CreateSoundBank: %d\n", ret); + return E_FAIL; + } diff --git a/patches/xactengine-initial/0012-xaudio2_7-Trace-FAudio-version-being-used.patch b/patches/xactengine-initial/0012-xaudio2_7-Trace-FAudio-version-being-used.patch deleted file mode 100644 index 11c58d7c..00000000 --- a/patches/xactengine-initial/0012-xaudio2_7-Trace-FAudio-version-being-used.patch +++ /dev/null @@ -1,57 +0,0 @@ -From b331a9b8e5a7eb893fa9a8e04244646910354430 Mon Sep 17 00:00:00 2001 -From: Alistair Leslie-Hughes -Date: Tue, 14 Jan 2020 15:47:15 +1100 -Subject: [PATCH] xaudio2_7: Trace FAudio version being used - -Signed-off-by: Alistair Leslie-Hughes ---- - configure.ac | 3 ++- - dlls/xaudio2_7/xaudio_dll.c | 3 +++ - include/config.h.in | 3 +++ - 3 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 47d2b750c0..f688b56967 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1738,7 +1738,8 @@ then - [AC_CHECK_HEADERS([FAudio.h], - [WINE_CHECK_SONAME(FAudio,FAudioCreate,,,[$FAUDIO_LIBS],[[libFAudio*]])]) - WINE_CHECK_LIB_FUNCS([FAudio_CommitOperationSet \ -- F3DAudioInitialize8], [$FAUDIO_LIBS]) -+ F3DAudioInitialize8 \ -+ FAudioLinkedVersion], [$FAUDIO_LIBS]) - ]) - fi - WINE_NOTICE_WITH(faudio,[test "x$ac_cv_lib_soname_FAudio" = "x"], -diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c -index a87e0124d3..2601a280ba 100644 ---- a/dlls/xaudio2_7/xaudio_dll.c -+++ b/dlls/xaudio2_7/xaudio_dll.c -@@ -90,6 +90,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, void *pReserved) - case DLL_PROCESS_ATTACH: - instance = hinstDLL; - DisableThreadLibraryCalls( hinstDLL ); -+#ifdef HAVE_FAUDIOLINKEDVERSION -+ TRACE("Using FAudio version %d\n", FAudioLinkedVersion() ); -+#endif - break; - } - return TRUE; -diff --git a/include/config.h.in b/include/config.h.in -index 1d0b216b6a..887ed3026b 100644 ---- a/include/config.h.in -+++ b/include/config.h.in -@@ -152,6 +152,9 @@ - /* Define to 1 if you have the `fallocate' function. */ - #undef HAVE_FALLOCATE - -+/* Define to 1 if you have the `FAudioLinkedVersion' function. */ -+#undef HAVE_FAUDIOLINKEDVERSION -+ - /* Define to 1 if you have the `FAudio_CommitOperationSet' function. */ - #undef HAVE_FAUDIO_COMMITOPERATIONSET - --- -2.17.1 -