mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 7cd7f14696dc3fb7aa41ef253ad144d458304a28.
This commit is contained in:
parent
d80c4a83fd
commit
2db34eca39
@ -1,43 +0,0 @@
|
||||
From 765b7ac424a30543d0ca6da8c217d8eb024b870b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
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
|
||||
|
@ -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 <sebastian@fds-team.de>
|
||||
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
|
||||
|
||||
|
@ -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 <sebastian@fds-team.de>
|
||||
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
|
||||
|
||||
|
@ -1,153 +0,0 @@
|
||||
From 7221933818afc91b76f6b12ead544570d8ff336a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
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
|
||||
|
@ -1,2 +0,0 @@
|
||||
Fixes: [42296] Implement ntdll.LdrEnumerateLoadedModules
|
||||
Depends: ntdll-RtlQueryPackageIdentity
|
@ -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?= <michael@fds-team.de>
|
||||
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
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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?= <michael@fds-team.de>
|
||||
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
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Wine Staging 2.7
|
||||
Wine Staging 2.8 (unreleased)
|
||||
|
Loading…
Reference in New Issue
Block a user