From 2db34eca39538afff27f2d353fbd3cb2e6ab1a46 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 2 May 2017 12:57:50 +0200 Subject: [PATCH] Rebase against 7cd7f14696dc3fb7aa41ef253ad144d458304a28. --- ...nt-IDirectMusicBuffer-PackStructured.patch | 43 ----- ...cess-dlls-are-not-attached-too-early.patch | 14 +- ...t-for-hiding-wine-version-informatio.patch | 18 +-- ...-Implement-LdrEnumerateLoadedModules.patch | 153 ------------------ .../definition | 2 - ...basic-tests-for-RtlQueryPackageIdent.patch | 24 +-- patches/patchinstall.sh | 81 +++------- ...ort-for-extra-large-and-jumbo-icon-l.patch | 7 +- staging/VERSION | 2 +- 9 files changed, 50 insertions(+), 294 deletions(-) delete mode 100644 patches/dmusic-SynthPort_IKsControl/0001-dmusic-Implement-IDirectMusicBuffer-PackStructured.patch delete mode 100644 patches/ntdll-LdrEnumerateLoadedModules/0001-ntdll-Implement-LdrEnumerateLoadedModules.patch delete mode 100644 patches/ntdll-LdrEnumerateLoadedModules/definition diff --git a/patches/dmusic-SynthPort_IKsControl/0001-dmusic-Implement-IDirectMusicBuffer-PackStructured.patch b/patches/dmusic-SynthPort_IKsControl/0001-dmusic-Implement-IDirectMusicBuffer-PackStructured.patch deleted file mode 100644 index 6d336969..00000000 --- a/patches/dmusic-SynthPort_IKsControl/0001-dmusic-Implement-IDirectMusicBuffer-PackStructured.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 765b7ac424a30543d0ca6da8c217d8eb024b870b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Fri, 29 Apr 2016 16:39:50 +0200 -Subject: dmusic: Implement IDirectMusicBuffer::PackStructured. - ---- - dlls/dmusic/buffer.c | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -diff --git a/dlls/dmusic/buffer.c b/dlls/dmusic/buffer.c -index bd0ad1a..5be2e0d 100644 ---- a/dlls/dmusic/buffer.c -+++ b/dlls/dmusic/buffer.c -@@ -134,9 +134,26 @@ static HRESULT WINAPI IDirectMusicBufferImpl_PackStructured(LPDIRECTMUSICBUFFER - static HRESULT WINAPI IDirectMusicBufferImpl_PackUnstructured(LPDIRECTMUSICBUFFER iface, REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD cb, LPBYTE lpb) - { - IDirectMusicBufferImpl *This = impl_from_IDirectMusicBuffer(iface); -+ DWORD new_write_pos = This->write_pos + sizeof(DMUS_EVENTHEADER) + cb; -+ DMUS_EVENTHEADER header; - - FIXME("(%p, 0x%s, %d, %d, %p): stub\n", This, wine_dbgstr_longlong(rt), dwChannelGroup, cb, lpb); - -+ if (new_write_pos > This->size) -+ return DMUS_E_BUFFER_FULL; -+ -+ if (!This->write_pos) -+ This->start_time = rt; -+ -+ header.cbEvent = cb; -+ header.dwChannelGroup = dwChannelGroup; -+ header.rtDelta = rt - This->start_time; -+ header.dwFlags = 0; -+ -+ memcpy(This->data + This->write_pos, &header, sizeof(header)); -+ memcpy(This->data + This->write_pos + sizeof(header), lpb, cb); -+ This->write_pos = new_write_pos; -+ - return S_OK; - } - --- -2.8.0 - diff --git a/patches/ntdll-Attach_Process_DLLs/0001-ntdll-Ensure-process-dlls-are-not-attached-too-early.patch b/patches/ntdll-Attach_Process_DLLs/0001-ntdll-Ensure-process-dlls-are-not-attached-too-early.patch index 00860519..1b2b71cd 100644 --- a/patches/ntdll-Attach_Process_DLLs/0001-ntdll-Ensure-process-dlls-are-not-attached-too-early.patch +++ b/patches/ntdll-Attach_Process_DLLs/0001-ntdll-Ensure-process-dlls-are-not-attached-too-early.patch @@ -1,4 +1,4 @@ -From 3c9bfe68c7bc4accbe80eeba910a227dc5ffa588 Mon Sep 17 00:00:00 2001 +From 0cb287b9ba62ee9e353248861d4c177f7db48dcb Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 20 Jul 2016 02:21:41 +0200 Subject: ntdll: Ensure process dlls are not attached too early. (v2) @@ -8,18 +8,18 @@ Subject: ntdll: Ensure process dlls are not attached too early. (v2) 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index f1ef7ab..adb6b95 100644 +index 518a99f590..94668e8ba4 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c -@@ -63,6 +63,7 @@ WINE_DECLARE_DEBUG_CHANNEL(pid); - +@@ -64,6 +64,7 @@ WINE_DECLARE_DEBUG_CHANNEL(pid); typedef DWORD (CALLBACK *DLLENTRYPROC)(HMODULE,DWORD,LPVOID); + typedef void (CALLBACK *LDRENUMPROC)(LDR_MODULE *, void *, BOOLEAN *); +static BOOL process_attaching = TRUE; /* set on process attach to avoid calling callbacks too early */ static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */ static int free_lib_count; /* recursion depth of LdrUnloadDll calls */ -@@ -445,7 +446,20 @@ static FARPROC find_forwarded_export( HMODULE module, const char *forward, LPCWS +@@ -452,7 +453,20 @@ static FARPROC find_forwarded_export( HMODULE module, const char *forward, LPCWS if (load_dll( load_path, mod_name, 0, &wm ) == STATUS_SUCCESS && !(wm->ldr.Flags & LDR_DONT_RESOLVE_REFS)) { @@ -41,7 +41,7 @@ index f1ef7ab..adb6b95 100644 { LdrUnloadDll( wm->ldr.BaseAddress ); wm = NULL; -@@ -2970,6 +2984,7 @@ static NTSTATUS attach_process_dlls( void *wm ) +@@ -3005,6 +3019,7 @@ static NTSTATUS attach_process_dlls( void *wm ) { NTSTATUS status; @@ -50,5 +50,5 @@ index f1ef7ab..adb6b95 100644 RtlEnterCriticalSection( &loader_section ); -- -2.9.0 +2.12.2 diff --git a/patches/ntdll-Hide_Wine_Exports/0001-ntdll-Add-support-for-hiding-wine-version-informatio.patch b/patches/ntdll-Hide_Wine_Exports/0001-ntdll-Add-support-for-hiding-wine-version-informatio.patch index c0d808df..ee68f30a 100644 --- a/patches/ntdll-Hide_Wine_Exports/0001-ntdll-Add-support-for-hiding-wine-version-informatio.patch +++ b/patches/ntdll-Hide_Wine_Exports/0001-ntdll-Add-support-for-hiding-wine-version-informatio.patch @@ -1,4 +1,4 @@ -From 41a15135b0c1894724c1c91311faa255ad96d732 Mon Sep 17 00:00:00 2001 +From ab7508f34fd0f428392e8e0811709f6436e00c93 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 30 May 2015 02:23:15 +0200 Subject: ntdll: Add support for hiding wine version information from @@ -10,12 +10,12 @@ Subject: ntdll: Add support for hiding wine version information from 2 files changed, 100 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index b95b8852aa..1c0ba6161d 100644 +index 94668e8ba4..f4e002a060 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c -@@ -63,9 +63,12 @@ WINE_DECLARE_DEBUG_CHANNEL(pid); - +@@ -64,9 +64,12 @@ WINE_DECLARE_DEBUG_CHANNEL(pid); typedef DWORD (CALLBACK *DLLENTRYPROC)(HMODULE,DWORD,LPVOID); + typedef void (CALLBACK *LDRENUMPROC)(LDR_MODULE *, void *, BOOLEAN *); +#define IS_OPTION_TRUE(ch) ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1') + @@ -26,7 +26,7 @@ index b95b8852aa..1c0ba6161d 100644 static const char * const reason_names[] = { -@@ -1456,6 +1459,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic ) +@@ -1485,6 +1488,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic ) } @@ -123,7 +123,7 @@ index b95b8852aa..1c0ba6161d 100644 /****************************************************************** * LdrGetProcedureAddress (NTDLL.@) */ -@@ -1476,7 +1569,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name, +@@ -1505,7 +1598,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name, LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer; void *proc = name ? find_named_export( module, exports, exp_size, name->Buffer, -1, load_path ) : find_ordinal_export( module, exports, exp_size, ord - exports->Base, load_path ); @@ -132,7 +132,7 @@ index b95b8852aa..1c0ba6161d 100644 { *address = proc; ret = STATUS_SUCCESS; -@@ -3099,6 +3192,7 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2, +@@ -3128,6 +3221,7 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2, if (!peb->ProcessParameters->WindowTitle.Buffer) peb->ProcessParameters->WindowTitle = wm->ldr.FullDllName; version_init( wm->ldr.FullDllName.Buffer ); @@ -141,7 +141,7 @@ index b95b8852aa..1c0ba6161d 100644 LdrQueryImageFileExecutionOptions( &peb->ProcessParameters->ImagePathName, globalflagW, diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h -index 443c86000d..ba4adff249 100644 +index 6549a71fc0..6e51612380 100644 --- a/dlls/ntdll/ntdll_misc.h +++ b/dlls/ntdll/ntdll_misc.h @@ -266,6 +266,11 @@ extern HANDLE keyed_event DECLSPEC_HIDDEN; @@ -157,5 +157,5 @@ index 443c86000d..ba4adff249 100644 extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck, LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN; -- -2.11.0 +2.12.2 diff --git a/patches/ntdll-LdrEnumerateLoadedModules/0001-ntdll-Implement-LdrEnumerateLoadedModules.patch b/patches/ntdll-LdrEnumerateLoadedModules/0001-ntdll-Implement-LdrEnumerateLoadedModules.patch deleted file mode 100644 index 8ea1c846..00000000 --- a/patches/ntdll-LdrEnumerateLoadedModules/0001-ntdll-Implement-LdrEnumerateLoadedModules.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 7221933818afc91b76f6b12ead544570d8ff336a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Fri, 3 Feb 2017 00:05:10 +0100 -Subject: ntdll: Implement LdrEnumerateLoadedModules. - ---- - dlls/ntdll/loader.c | 31 +++++++++++++++++++++++++++++ - dlls/ntdll/ntdll.spec | 2 +- - dlls/ntdll/tests/rtl.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 86 insertions(+), 1 deletion(-) - -diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index cf758505a4c..0b507da9a08 100644 ---- a/dlls/ntdll/loader.c -+++ b/dlls/ntdll/loader.c -@@ -1393,6 +1393,37 @@ NTSTATUS WINAPI LdrFindEntryForAddress(const void* addr, PLDR_MODULE* pmod) - return STATUS_NO_MORE_ENTRIES; - } - -+typedef void (WINAPI LDR_ENUM_CALLBACK)(LDR_MODULE*, void*, BOOLEAN*); -+ -+/****************************************************************** -+ * LdrEnumerateLoadedModules (NTDLL.@) -+ */ -+NTSTATUS WINAPI LdrEnumerateLoadedModules(void *unknown, LDR_ENUM_CALLBACK *callback, void *context) -+{ -+ PLIST_ENTRY mark, entry; -+ PLDR_MODULE mod; -+ BOOLEAN stop = FALSE; -+ -+ TRACE("(%p, %p, %p)\n", unknown, callback, context); -+ -+ if (unknown || !callback) -+ return STATUS_INVALID_PARAMETER; -+ -+ RtlEnterCriticalSection( &loader_section ); -+ -+ mark = &NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList; -+ for (entry = mark->Flink; entry != mark; entry = entry->Flink) -+ { -+ mod = CONTAINING_RECORD(entry, LDR_MODULE, InMemoryOrderModuleList); -+ callback(mod, context, &stop); -+ if (stop) break; -+ } -+ -+ RtlLeaveCriticalSection( &loader_section ); -+ -+ return STATUS_SUCCESS; -+} -+ - /****************************************************************** - * LdrLockLoaderLock (NTDLL.@) - * -diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec -index b4269a679fc..66ecb7d0f37 100644 ---- a/dlls/ntdll/ntdll.spec -+++ b/dlls/ntdll/ntdll.spec -@@ -62,7 +62,7 @@ - # @ stub LdrDestroyOutOfProcessImage - @ stdcall LdrDisableThreadCalloutsForDll(long) - @ stub LdrEnumResources --# @ stub LdrEnumerateLoadedModules -+@ stdcall LdrEnumerateLoadedModules(ptr ptr ptr) - # @ stub LdrFindCreateProcessManifest - @ stdcall LdrFindEntryForAddress(ptr ptr) - @ stdcall LdrFindResourceDirectory_U(long ptr long ptr) -diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c -index 940c44a05bd..873437e7f4b 100644 ---- a/dlls/ntdll/tests/rtl.c -+++ b/dlls/ntdll/tests/rtl.c -@@ -102,6 +102,7 @@ static BOOL (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *); - static BOOL (WINAPI *pRtlIsCriticalSectionLockedByThread)(CRITICAL_SECTION *); - static NTSTATUS (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG); - static NTSTATUS (WINAPI *pRtlQueryPackageIdentity)(HANDLE, WCHAR*, SIZE_T*, WCHAR*, SIZE_T*, BOOLEAN*); -+static NTSTATUS (WINAPI *pLdrEnumerateLoadedModules)(void*, void*, void*); - - static HMODULE hkernel32 = 0; - static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL); -@@ -156,6 +157,7 @@ static void InitFunctionPtrs(void) - pRtlIsCriticalSectionLockedByThread = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLockedByThread"); - pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx"); - pRtlQueryPackageIdentity = (void *)GetProcAddress(hntdll, "RtlQueryPackageIdentity"); -+ pLdrEnumerateLoadedModules = (void *)GetProcAddress(hntdll, "LdrEnumerateLoadedModules"); - } - hkernel32 = LoadLibraryA("kernel32.dll"); - ok(hkernel32 != 0, "LoadLibrary failed\n"); -@@ -2228,6 +2230,57 @@ done: - CoUninitialize(); - } - -+static BOOL enum_abort = FALSE; -+static BOOL ntdll_found = FALSE; -+static int module_count = 0; -+ -+void WINAPI ldr_enum_callback(LDR_MODULE *module, void *context, BOOLEAN *stop) -+{ -+ static const WCHAR ntdllW[] = {'n','t','d','l','l','.','d','l','l',0}; -+ ok(context == (void *)0xdeadbeef, "Expected 0xdeadbeef, got %p\n", context); -+ -+ module_count++; -+ -+ if (!lstrcmpiW(module->BaseDllName.Buffer, ntdllW)) -+ ntdll_found = TRUE; -+ -+ *stop = enum_abort; -+} -+ -+static void test_LdrEnumerateLoadedModules(void) -+{ -+ NTSTATUS status; -+ -+ if (!pLdrEnumerateLoadedModules) -+ { -+ win_skip("LdrEnumerateLoadedModules not available\n"); -+ return; -+ } -+ -+ enum_abort = FALSE; -+ ntdll_found = FALSE; -+ module_count = 0; -+ status = pLdrEnumerateLoadedModules(NULL, ldr_enum_callback, (void *)0xdeadbeef); -+ ok(status == STATUS_SUCCESS, "got wrong status 0x%08x\n", status); -+ ok(ntdll_found, "Could not find ntdll!\n"); -+ ok(module_count > 1, "Expected more than one module, got %d\n", module_count); -+ -+ enum_abort = TRUE; -+ module_count = 0; -+ status = pLdrEnumerateLoadedModules(NULL, ldr_enum_callback, (void *)0xdeadbeef); -+ ok(status == STATUS_SUCCESS, "got wrong status 0x%08x\n", status); -+ ok(module_count == 1, "Expected exactly one module, got %d\n", module_count); -+ -+ status = pLdrEnumerateLoadedModules((void *)0x1, ldr_enum_callback, (void *)0xdeadbeef); -+ ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status); -+ -+ status = pLdrEnumerateLoadedModules((void *)0xdeadbeef, ldr_enum_callback, (void *)0xdeadbeef); -+ ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status); -+ -+ status = pLdrEnumerateLoadedModules(NULL, NULL, (void *)0xdeadbeef); -+ ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status); -+} -+ - START_TEST(rtl) - { - InitFunctionPtrs(); -@@ -2261,4 +2314,5 @@ START_TEST(rtl) - test_RtlInitializeCriticalSectionEx(); - test_RtlLeaveCriticalSection(); - test_RtlQueryPackageIdentity(); -+ test_LdrEnumerateLoadedModules(); - } --- -2.11.0 - diff --git a/patches/ntdll-LdrEnumerateLoadedModules/definition b/patches/ntdll-LdrEnumerateLoadedModules/definition deleted file mode 100644 index 8a4de472..00000000 --- a/patches/ntdll-LdrEnumerateLoadedModules/definition +++ /dev/null @@ -1,2 +0,0 @@ -Fixes: [42296] Implement ntdll.LdrEnumerateLoadedModules -Depends: ntdll-RtlQueryPackageIdentity diff --git a/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch b/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch index b0fb4aeb..6aafd48d 100644 --- a/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch +++ b/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch @@ -1,4 +1,4 @@ -From 1ad505d34d229476373ba4f3422934f0440f2fee Mon Sep 17 00:00:00 2001 +From 29ec5605140dec0a480bde2024c3ef8a682eb46e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 17 Jan 2016 00:50:50 +0100 Subject: ntdll/tests: Add basic tests for RtlQueryPackageIdentity. @@ -9,7 +9,7 @@ Subject: ntdll/tests: Add basic tests for RtlQueryPackageIdentity. 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/tests/Makefile.in b/dlls/ntdll/tests/Makefile.in -index fc352dd22be..0de4fe8f207 100644 +index fc352dd22b..0de4fe8f20 100644 --- a/dlls/ntdll/tests/Makefile.in +++ b/dlls/ntdll/tests/Makefile.in @@ -1,5 +1,5 @@ @@ -20,7 +20,7 @@ index fc352dd22be..0de4fe8f207 100644 C_SRCS = \ atom.c \ diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c -index b18cccf4f35..940c44a05bd 100644 +index 7176e448ef..8292f72527 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c @@ -25,6 +25,9 @@ @@ -33,24 +33,24 @@ index b18cccf4f35..940c44a05bd 100644 #ifndef __WINE_WINTERNL_H -@@ -98,6 +101,7 @@ static NTSTATUS (WINAPI *pRtlCompressBuffer)(USHORT, const UCHAR*, ULONG, PUCHA - static BOOL (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *); +@@ -99,6 +102,7 @@ static BOOL (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *); static BOOL (WINAPI *pRtlIsCriticalSectionLockedByThread)(CRITICAL_SECTION *); static NTSTATUS (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG); + static NTSTATUS (WINAPI *pLdrEnumerateLoadedModules)(void *, void *, void *); +static NTSTATUS (WINAPI *pRtlQueryPackageIdentity)(HANDLE, WCHAR*, SIZE_T*, WCHAR*, SIZE_T*, BOOLEAN*); static HMODULE hkernel32 = 0; static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL); -@@ -151,6 +155,7 @@ static void InitFunctionPtrs(void) - pRtlIsCriticalSectionLocked = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLocked"); +@@ -153,6 +157,7 @@ static void InitFunctionPtrs(void) pRtlIsCriticalSectionLockedByThread = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLockedByThread"); pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx"); + pLdrEnumerateLoadedModules = (void *)GetProcAddress(hntdll, "LdrEnumerateLoadedModules"); + pRtlQueryPackageIdentity = (void *)GetProcAddress(hntdll, "RtlQueryPackageIdentity"); } hkernel32 = LoadLibraryA("kernel32.dll"); ok(hkernel32 != 0, "LoadLibrary failed\n"); -@@ -2153,6 +2158,76 @@ static void test_RtlLeaveCriticalSection(void) - ok(!status, "RtlDeleteCriticalSection failed: %x\n", status); +@@ -2209,6 +2214,76 @@ static void test_LdrEnumerateLoadedModules(void) + ok(status == STATUS_INVALID_PARAMETER, "expected STATUS_INVALID_PARAMETER, got 0x%08x\n", status); } +static void test_RtlQueryPackageIdentity(void) @@ -126,12 +126,12 @@ index b18cccf4f35..940c44a05bd 100644 START_TEST(rtl) { InitFunctionPtrs(); -@@ -2185,4 +2260,5 @@ START_TEST(rtl) - test_RtlIsCriticalSectionLocked(); +@@ -2242,4 +2317,5 @@ START_TEST(rtl) test_RtlInitializeCriticalSectionEx(); test_RtlLeaveCriticalSection(); + test_LdrEnumerateLoadedModules(); + test_RtlQueryPackageIdentity(); } -- -2.11.0 +2.12.2 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 584f0bc3..d19c6161 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,13 +52,13 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "07cf14dc928a1a00baecbbc7ca5a6f3fe680238c" + echo "7cd7f14696dc3fb7aa41ef253ad144d458304a28" } # Show version information version() { - echo "Wine Staging 2.7" + echo "Wine Staging 2.8 (unreleased)" echo "Copyright (C) 2014-2017 the Wine Staging project authors." echo "" echo "Patchset to be applied on upstream Wine:" @@ -144,7 +144,6 @@ patch_enable_all () enable_devenum_AudioCompressorCategory="$1" enable_dinput_Initialize="$1" enable_dmloader_Tests="$1" - enable_dmusic_SynthPort_IKsControl="$1" enable_dsound_EAX="$1" enable_dsound_Fast_Mixer="$1" enable_dsound_Revert_Cleanup="$1" @@ -237,7 +236,6 @@ patch_enable_all () enable_ntdll_Interrupt_0x2e="$1" enable_ntdll_Junction_Points="$1" enable_ntdll_LDR_MODULE="$1" - enable_ntdll_LdrEnumerateLoadedModules="$1" enable_ntdll_LdrGetDllHandle="$1" enable_ntdll_Loader_Machine_Type="$1" enable_ntdll_NtAccessCheck="$1" @@ -659,9 +657,6 @@ patch_enable () dmloader-Tests) enable_dmloader_Tests="$2" ;; - dmusic-SynthPort_IKsControl) - enable_dmusic_SynthPort_IKsControl="$2" - ;; dsound-EAX) enable_dsound_EAX="$2" ;; @@ -938,9 +933,6 @@ patch_enable () ntdll-LDR_MODULE) enable_ntdll_LDR_MODULE="$2" ;; - ntdll-LdrEnumerateLoadedModules) - enable_ntdll_LdrEnumerateLoadedModules="$2" - ;; ntdll-LdrGetDllHandle) enable_ntdll_LdrGetDllHandle="$2" ;; @@ -2326,13 +2318,6 @@ if test "$enable_ntdll_NtSuspendProcess" -eq 1; then enable_kernel32_K32GetPerformanceInfo=1 fi -if test "$enable_ntdll_LdrEnumerateLoadedModules" -eq 1; then - if test "$enable_ntdll_RtlQueryPackageIdentity" -gt 1; then - abort "Patchset ntdll-RtlQueryPackageIdentity disabled, but ntdll-LdrEnumerateLoadedModules depends on that." - fi - enable_ntdll_RtlQueryPackageIdentity=1 -fi - if test "$enable_ntdll_Junction_Points" -eq 1; then if test "$enable_ntdll_NtQueryEaFile" -gt 1; then abort "Patchset ntdll-NtQueryEaFile disabled, but ntdll-Junction_Points depends on that." @@ -3835,18 +3820,6 @@ if test "$enable_dmloader_Tests" -eq 1; then ) >> "$patchlist" fi -# Patchset dmusic-SynthPort_IKsControl -# | -# | Modified files: -# | * dlls/dmusic/buffer.c -# | -if test "$enable_dmusic_SynthPort_IKsControl" -eq 1; then - patch_apply dmusic-SynthPort_IKsControl/0001-dmusic-Implement-IDirectMusicBuffer-PackStructured.patch - ( - printf '%s\n' '+ { "Michael Müller", "dmusic: Implement IDirectMusicBuffer::PackStructured.", 1 },'; - ) >> "$patchlist" -fi - # Patchset dsound-Fast_Mixer # | # | This patchset fixes the following Wine bugs: @@ -5514,40 +5487,6 @@ if test "$enable_ntdll_Junction_Points" -eq 1; then ) >> "$patchlist" fi -# Patchset ntdll-RtlQueryPackageIdentity -# | -# | Modified files: -# | * dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c, dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/rtl.c, include/shobjidl.idl -# | -if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then - patch_apply ntdll-RtlQueryPackageIdentity/0001-ntdll-Add-stub-for-RtlQueryPackageIdentity.patch - patch_apply ntdll-RtlQueryPackageIdentity/0002-include-Add-IApplicationActivationManager-interface-.patch - patch_apply ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch - ( - printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for RtlQueryPackageIdentity.", 1 },'; - printf '%s\n' '+ { "Michael Müller", "include: Add IApplicationActivationManager interface declaration.", 1 },'; - printf '%s\n' '+ { "Michael Müller", "ntdll/tests: Add basic tests for RtlQueryPackageIdentity.", 1 },'; - ) >> "$patchlist" -fi - -# Patchset ntdll-LdrEnumerateLoadedModules -# | -# | This patchset has the following (direct or indirect) dependencies: -# | * ntdll-RtlQueryPackageIdentity -# | -# | This patchset fixes the following Wine bugs: -# | * [#42296] Implement ntdll.LdrEnumerateLoadedModules -# | -# | Modified files: -# | * dlls/ntdll/loader.c, dlls/ntdll/ntdll.spec, dlls/ntdll/tests/rtl.c -# | -if test "$enable_ntdll_LdrEnumerateLoadedModules" -eq 1; then - patch_apply ntdll-LdrEnumerateLoadedModules/0001-ntdll-Implement-LdrEnumerateLoadedModules.patch - ( - printf '%s\n' '+ { "Michael Müller", "ntdll: Implement LdrEnumerateLoadedModules.", 1 },'; - ) >> "$patchlist" -fi - # Patchset ntdll-LdrGetDllHandle # | # | Modified files: @@ -5745,6 +5684,22 @@ if test "$enable_ntdll_RtlCaptureStackBackTrace" -eq 1; then ) >> "$patchlist" fi +# Patchset ntdll-RtlQueryPackageIdentity +# | +# | Modified files: +# | * dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c, dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/rtl.c, include/shobjidl.idl +# | +if test "$enable_ntdll_RtlQueryPackageIdentity" -eq 1; then + patch_apply ntdll-RtlQueryPackageIdentity/0001-ntdll-Add-stub-for-RtlQueryPackageIdentity.patch + patch_apply ntdll-RtlQueryPackageIdentity/0002-include-Add-IApplicationActivationManager-interface-.patch + patch_apply ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch + ( + printf '%s\n' '+ { "Michael Müller", "ntdll: Add stub for RtlQueryPackageIdentity.", 1 },'; + printf '%s\n' '+ { "Michael Müller", "include: Add IApplicationActivationManager interface declaration.", 1 },'; + 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: diff --git a/patches/shell32-Icons/0001-shell32-Add-support-for-extra-large-and-jumbo-icon-l.patch b/patches/shell32-Icons/0001-shell32-Add-support-for-extra-large-and-jumbo-icon-l.patch index f2a6d6d9..8ef83844 100644 --- a/patches/shell32-Icons/0001-shell32-Add-support-for-extra-large-and-jumbo-icon-l.patch +++ b/patches/shell32-Icons/0001-shell32-Add-support-for-extra-large-and-jumbo-icon-l.patch @@ -1,4 +1,4 @@ -From 38b073ecbfe6965fb4c67e8398d447f93832956f Mon Sep 17 00:00:00 2001 +From 7648652cd46e37da1dc51c3dee6d0dcd953e96a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 3 Aug 2014 02:23:44 +0200 Subject: shell32: Add support for extra large and jumbo icon lists. (v2) @@ -353,10 +353,10 @@ index bdebcba0e3..fbb8e8811a 100644 + #endif diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c -index 96dd33aa30..917cdee9fc 100644 +index f9814997da..5102bf0e47 100644 --- a/dlls/shell32/shellord.c +++ b/dlls/shell32/shellord.c -@@ -2180,19 +2180,31 @@ void WINAPI SHFlushSFCache(void) +@@ -2146,18 +2146,30 @@ void WINAPI SHFlushSFCache(void) */ HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv) { @@ -395,7 +395,6 @@ index 96dd33aa30..917cdee9fc 100644 - return HIMAGELIST_QueryInterface(hNew, riid, ppv); } - -- 2.12.2 diff --git a/staging/VERSION b/staging/VERSION index 623104aa..3ffa5a09 100644 --- a/staging/VERSION +++ b/staging/VERSION @@ -1 +1 @@ -Wine Staging 2.7 +Wine Staging 2.8 (unreleased)