Rebase against 433b9081ba7c862feb947400f507228e793d7d4c.

This commit is contained in:
Alistair Leslie-Hughes 2021-02-03 10:11:33 +11:00
parent 32b29ad4d8
commit cae1b3eba0
10 changed files with 86 additions and 155 deletions

View File

@ -1,56 +0,0 @@
From bbc93f065045b7854f4446d9199c2c22c6251d3d Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 30 Jul 2017 23:50:18 +0200
Subject: [PATCH] d3dx9: Return D3DFMT_A8R8G8B8 in
D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
---
dlls/d3dx9_36/surface.c | 18 ++++++++++++++++++
dlls/d3dx9_36/tests/surface.c | 2 +-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index a2eca9cbdb..b670657125 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -980,6 +980,24 @@ HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(const void *data, UINT datasize,
}
}
+ /* For 32 bpp BMP, windowscodecs.dll never returns a format with alpha while
+ * d3dx9_xx.dll returns one if at least 1 pixel has a non zero alpha component */
+ if (SUCCEEDED(hr) && (info->Format == D3DFMT_X8R8G8B8) && (info->ImageFileFormat == D3DXIFF_BMP)) {
+ DWORD size = sizeof(DWORD) * info->Width * info->Height;
+ BYTE *buffer = HeapAlloc(GetProcessHeap(), 0, size);
+ hr = IWICBitmapFrameDecode_CopyPixels(frame, NULL, sizeof(DWORD) * info->Width, size, buffer);
+ if (SUCCEEDED(hr)) {
+ DWORD i;
+ for (i = 0; i < info->Width * info->Height; i++) {
+ if (buffer[i*4+3]) {
+ info->Format = D3DFMT_A8R8G8B8;
+ break;
+ }
+ }
+ }
+ HeapFree(GetProcessHeap(), 0, buffer);
+ }
+
if (frame)
IWICBitmapFrameDecode_Release(frame);
diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c
index 04ce57fa4f..db0c9c7291 100644
--- a/dlls/d3dx9_36/tests/surface.c
+++ b/dlls/d3dx9_36/tests/surface.c
@@ -616,7 +616,7 @@ static void test_D3DXGetImageInfo(void)
ok(info.Format == D3DFMT_X8R8G8B8, "Got unexpected format %u.\n", info.Format);
hr = D3DXGetImageInfoFromFileInMemory(bmp_32bpp_argb, sizeof(bmp_32bpp_argb), &info);
ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
- todo_wine ok(info.Format == D3DFMT_A8R8G8B8, "Got unexpected format %u.\n", info.Format);
+ ok(info.Format == D3DFMT_A8R8G8B8, "Got unexpected format %u.\n", info.Format);
/* Grayscale PNG */
hr = D3DXGetImageInfoFromFileInMemory(png_grayscale, sizeof(png_grayscale), &info);
--
2.21.0

View File

@ -1 +0,0 @@
Fixes: [48563] Runaway: A Twist of Fate renders its cursor incorrectly

View File

@ -1,4 +1,4 @@
From fd3e782fbebdfbac412ab3ee9ba01c2a562b61ee Mon Sep 17 00:00:00 2001
From b528c37ea124f6c84bf2383a75ae50dc6f12b571 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 12:09:22 -0500
Subject: [PATCH] ntdll: Create eventfd-based objects for semaphores.
@ -16,7 +16,7 @@ Subject: [PATCH] ntdll: Create eventfd-based objects for semaphores.
create mode 100644 dlls/ntdll/unix/esync.h
diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
index f39ffb42c6f..f742d084906 100644
index 258274ac529..1c3fb065ecf 100644
--- a/dlls/ntdll/Makefile.in
+++ b/dlls/ntdll/Makefile.in
@@ -46,6 +46,7 @@ C_SRCS = \
@ -348,10 +348,10 @@ index 00000000000..a50a755149a
+
+extern int receive_fd( obj_handle_t *handle ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index c2b6ea603e3..ab2d9e347c3 100644
index bcd1635e75c..52e61feb43a 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -86,6 +86,7 @@
@@ -89,6 +89,7 @@
#include "winioctl.h"
#include "winternl.h"
#include "unix_private.h"
@ -359,16 +359,16 @@ index c2b6ea603e3..ab2d9e347c3 100644
#include "wine/list.h"
#include "wine/debug.h"
@@ -1564,6 +1565,7 @@ static void start_main_thread(void)
@@ -1626,6 +1627,7 @@ static void start_main_thread(void)
signal_init_thread( teb );
dbg_init();
server_init_process();
startup_info_size = server_init_thread( teb->Peb, &suspend );
startup_info_size = server_init_process();
+ esync_init();
virtual_map_user_shared_data();
init_cpu_info();
init_files();
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
index 7236f0acb83..971341bf6e0 100644
index 7b469959f66..3063a13efb5 100644
--- a/dlls/ntdll/unix/server.c
+++ b/dlls/ntdll/unix/server.c
@@ -112,7 +112,7 @@ timeout_t server_start_time = 0; /* time of server startup */
@ -380,7 +380,7 @@ index 7236f0acb83..971341bf6e0 100644
/* atomically exchange a 64-bit value */
static inline LONG64 interlocked_xchg64( LONG64 *dest, LONG64 val )
@@ -813,7 +813,7 @@ void CDECL wine_server_send_fd( int fd )
@@ -832,7 +832,7 @@ void CDECL wine_server_send_fd( int fd )
*
* Receive a file descriptor passed from the server.
*/
@ -390,7 +390,7 @@ index 7236f0acb83..971341bf6e0 100644
struct iovec vec;
struct msghdr msghdr;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index bba7af7e34f..663a170fc61 100644
index 383e9c93273..19e1494a9b8 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -72,6 +72,7 @@
@ -424,5 +424,5 @@ index b8b257281bf..226e70cd1ad 100644
int do_esync(void)
{
--
2.28.0
2.29.2

View File

@ -1,4 +1,4 @@
From 869b1db8e2cc5e35976eaa751a3aa10dd017702d Mon Sep 17 00:00:00 2001
From 676ef7076ef33a21649a07acdc5e6e7fee761165 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 3 Apr 2017 05:30:27 +0200
Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
3 files changed, 141 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
index 67fd62ef6aa..d101104af1d 100644
index 861fc321729..28b0edacd0a 100644
--- a/dlls/kernel32/tests/loader.c
+++ b/dlls/kernel32/tests/loader.c
@@ -30,6 +30,7 @@
@ -21,7 +21,7 @@ index 67fd62ef6aa..d101104af1d 100644
#include "wine/test.h"
#include "delayloadhandler.h"
@@ -3992,6 +3993,79 @@ static void test_LoadPackagedLibrary(void)
@@ -4003,6 +4004,79 @@ static void test_LoadPackagedLibrary(void)
h, GetLastError());
}
@ -101,7 +101,7 @@ index 67fd62ef6aa..d101104af1d 100644
START_TEST(loader)
{
int argc;
@@ -4064,6 +4138,7 @@ START_TEST(loader)
@@ -4075,6 +4149,7 @@ START_TEST(loader)
test_InMemoryOrderModuleList();
test_LoadPackagedLibrary();
test_wow64_redirection();
@ -110,7 +110,7 @@ index 67fd62ef6aa..d101104af1d 100644
test_dll_file( "kernel32.dll" );
test_dll_file( "advapi32.dll" );
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index d948913d7b8..d2663916149 100644
index dad7bae6ccf..0727d4d15f5 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -115,6 +115,9 @@ struct file_id
@ -197,7 +197,7 @@ index d948913d7b8..d2663916149 100644
/* FIXME: there are several more dangling references
* left. Including dlls loaded by this dll before the
@@ -3269,6 +3324,7 @@ static void free_modref( WINE_MODREF *wm )
@@ -3291,6 +3346,7 @@ static void free_modref( WINE_MODREF *wm )
{
RemoveEntryList(&wm->ldr.InLoadOrderLinks);
RemoveEntryList(&wm->ldr.InMemoryOrderLinks);
@ -205,7 +205,7 @@ index d948913d7b8..d2663916149 100644
if (wm->ldr.InInitializationOrderLinks.Flink)
RemoveEntryList(&wm->ldr.InInitializationOrderLinks);
@@ -3988,6 +4044,7 @@ static NTSTATUS process_init(void)
@@ -4010,6 +4066,7 @@ static NTSTATUS process_init(void)
INITIAL_TEB stack;
TEB *teb = NtCurrentTeb();
PEB *peb = teb->Peb;
@ -213,7 +213,7 @@ index d948913d7b8..d2663916149 100644
peb->LdrData = &ldr;
peb->FastPebLock = &peb_lock;
@@ -4024,6 +4081,10 @@ static NTSTATUS process_init(void)
@@ -4046,6 +4103,10 @@ static NTSTATUS process_init(void)
load_global_options();
version_init();
@ -221,10 +221,10 @@ index d948913d7b8..d2663916149 100644
+ for (i = 0; i < HASH_MAP_SIZE; i++)
+ InitializeListHead(&hash_table[i]);
+
/* setup the load callback and create ntdll modref */
RtlInitUnicodeString( &nt_name, L"\\??\\C:\\windows\\system32\\ntdll.dll" );
NtQueryVirtualMemory( GetCurrentProcess(), process_init, MemoryBasicInformation,
@@ -4118,6 +4179,10 @@ static NTSTATUS process_init(void)
if (!(status = load_dll( params->DllPath.Buffer, params->ImagePathName.Buffer, NULL,
DONT_RESOLVE_DLL_REFERENCES, &wm )))
{
@@ -4133,6 +4194,10 @@ static NTSTATUS process_init(void)
teb->Tib.StackBase = stack.StackBase;
teb->Tib.StackLimit = stack.StackLimit;
teb->DeallocationStack = stack.DeallocationStack;
@ -236,10 +236,10 @@ index d948913d7b8..d2663916149 100644
}
diff --git a/include/winternl.h b/include/winternl.h
index c5f3ba04a8a..d5d16eff4f5 100644
index 2ff60a35004..8cc8a166608 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2721,8 +2721,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY
@@ -2731,8 +2731,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY
ULONG Flags;
SHORT LoadCount;
SHORT TlsIndex;

View File

@ -1,13 +1,13 @@
From f1f8f1d85868f75ac182252335de1cd84cb4ba16 Mon Sep 17 00:00:00 2001
From d6d1a8e33e479f9f7d8bd228efaaa5a9157255ab Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Thu, 9 Jan 2020 13:44:01 -0600
Subject: [PATCH] ntdll/tests: Move some tests to a new sync.c file.
---
dlls/ntdll/tests/Makefile.in | 1 +
dlls/ntdll/tests/om.c | 498 -------------------------------
dlls/ntdll/tests/om.c | 500 +-------------------------------
dlls/ntdll/tests/sync.c | 547 +++++++++++++++++++++++++++++++++++
3 files changed, 548 insertions(+), 498 deletions(-)
3 files changed, 550 insertions(+), 498 deletions(-)
create mode 100644 dlls/ntdll/tests/sync.c
diff --git a/dlls/ntdll/tests/Makefile.in b/dlls/ntdll/tests/Makefile.in
@ -23,10 +23,10 @@ index ed15c51339f..9a99c01bd7c 100644
time.c \
virtual.c
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index 266ec0d63eb..201fb92cc97 100644
index b318c0b2e64..a65c879465c 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -28,10 +28,6 @@
@@ -30,10 +30,6 @@
static VOID (WINAPI *pRtlInitUnicodeString)( PUNICODE_STRING, LPCWSTR );
static NTSTATUS (WINAPI *pNtCreateEvent) ( PHANDLE, ACCESS_MASK, const POBJECT_ATTRIBUTES, EVENT_TYPE, BOOLEAN);
static NTSTATUS (WINAPI *pNtOpenEvent) ( PHANDLE, ACCESS_MASK, const POBJECT_ATTRIBUTES);
@ -37,7 +37,7 @@ index 266ec0d63eb..201fb92cc97 100644
static NTSTATUS (WINAPI *pNtCreateJobObject)( PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES );
static NTSTATUS (WINAPI *pNtOpenJobObject)( PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES );
static NTSTATUS (WINAPI *pNtCreateKey)( PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, ULONG,
@@ -42,8 +38,6 @@ static NTSTATUS (WINAPI *pNtCreateMailslotFile)( PHANDLE, ACCESS_MASK, POBJECT_A
@@ -44,8 +40,6 @@ static NTSTATUS (WINAPI *pNtCreateMailslotFile)( PHANDLE, ACCESS_MASK, POBJECT_A
ULONG, ULONG, ULONG, PLARGE_INTEGER );
static NTSTATUS (WINAPI *pNtCreateMutant)( PHANDLE, ACCESS_MASK, const POBJECT_ATTRIBUTES, BOOLEAN );
static NTSTATUS (WINAPI *pNtOpenMutant) ( PHANDLE, ACCESS_MASK, const POBJECT_ATTRIBUTES );
@ -46,7 +46,7 @@ index 266ec0d63eb..201fb92cc97 100644
static NTSTATUS (WINAPI *pNtCreateSemaphore)( PHANDLE, ACCESS_MASK,const POBJECT_ATTRIBUTES,LONG,LONG );
static NTSTATUS (WINAPI *pNtOpenSemaphore)( PHANDLE, ACCESS_MASK, const POBJECT_ATTRIBUTES );
static NTSTATUS (WINAPI *pNtQuerySemaphore)( PHANDLE, SEMAPHORE_INFORMATION_CLASS, PVOID, ULONG, PULONG );
@@ -65,23 +59,13 @@ static NTSTATUS (WINAPI *pNtQueryObject)(HANDLE,OBJECT_INFORMATION_CLASS,PVOID,U
@@ -67,25 +61,17 @@ static NTSTATUS (WINAPI *pNtQueryObject)(HANDLE,OBJECT_INFORMATION_CLASS,PVOID,U
static NTSTATUS (WINAPI *pNtReleaseSemaphore)(HANDLE, ULONG, PULONG);
static NTSTATUS (WINAPI *pNtCreateKeyedEvent)( HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, ULONG );
static NTSTATUS (WINAPI *pNtOpenKeyedEvent)( HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES * );
@ -69,8 +69,12 @@ index 266ec0d63eb..201fb92cc97 100644
-
#define ROUND_UP(value, alignment) (((value) + ((alignment) - 1)) & ~((alignment)-1))
+#define KEYEDEVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x0003)
+
static LPCSTR wine_dbgstr_us( const UNICODE_STRING *us )
@@ -1710,286 +1694,6 @@ static void test_type_mismatch(void)
{
if (!us) return "(null)";
@@ -1783,286 +1769,6 @@ static void test_type_mismatch(void)
pNtClose( h );
}
@ -357,7 +361,7 @@ index 266ec0d63eb..201fb92cc97 100644
static void test_null_device(void)
{
OBJECT_ATTRIBUTES attr;
@@ -2063,119 +1767,6 @@ static void test_null_device(void)
@@ -2136,119 +1842,6 @@ static void test_null_device(void)
CloseHandle(ov.hEvent);
}
@ -477,7 +481,7 @@ index 266ec0d63eb..201fb92cc97 100644
static void test_semaphore(void)
{
SEMAPHORE_BASIC_INFORMATION info;
@@ -2252,79 +1843,6 @@ static void test_semaphore(void)
@@ -2325,79 +1918,6 @@ static void test_semaphore(void)
NtClose( semaphore );
}
@ -557,7 +561,7 @@ index 266ec0d63eb..201fb92cc97 100644
static void test_process(void)
{
OBJECT_ATTRIBUTES attr;
@@ -2388,13 +1906,7 @@ START_TEST(om)
@@ -2461,13 +1981,7 @@ START_TEST(om)
pNtCreateMailslotFile = (void *)GetProcAddress(hntdll, "NtCreateMailslotFile");
pNtCreateMutant = (void *)GetProcAddress(hntdll, "NtCreateMutant");
pNtOpenEvent = (void *)GetProcAddress(hntdll, "NtOpenEvent");
@ -571,7 +575,7 @@ index 266ec0d63eb..201fb92cc97 100644
pNtOpenFile = (void *)GetProcAddress(hntdll, "NtOpenFile");
pNtClose = (void *)GetProcAddress(hntdll, "NtClose");
pRtlInitUnicodeString = (void *)GetProcAddress(hntdll, "RtlInitUnicodeString");
@@ -2415,15 +1927,9 @@ START_TEST(om)
@@ -2488,15 +2002,9 @@ START_TEST(om)
pNtReleaseSemaphore = (void *)GetProcAddress(hntdll, "NtReleaseSemaphore");
pNtCreateKeyedEvent = (void *)GetProcAddress(hntdll, "NtCreateKeyedEvent");
pNtOpenKeyedEvent = (void *)GetProcAddress(hntdll, "NtOpenKeyedEvent");
@ -587,7 +591,7 @@ index 266ec0d63eb..201fb92cc97 100644
pNtOpenProcess = (void *)GetProcAddress(hntdll, "NtOpenProcess");
pNtCreateDebugObject = (void *)GetProcAddress(hntdll, "NtCreateDebugObject");
pNtQuerySystemInformation = (void *)GetProcAddress(hntdll, "NtQuerySystemInformation");
@@ -2437,11 +1943,7 @@ START_TEST(om)
@@ -2510,11 +2018,7 @@ START_TEST(om)
test_query_object();
test_query_object_types();
test_type_mismatch();

View File

@ -1,4 +1,4 @@
From 1642fdcb7681919a78d3a776382f8fdc9f5f8b94 Mon Sep 17 00:00:00 2001
From d945688dd6b41731ea1ea515556e78d8de73979f Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Sun, 28 May 2017 05:19:30 +0200
Subject: [PATCH] ntdll: Implement NtQueryVirtualMemory(MemorySectionName).
@ -16,7 +16,7 @@ Contains several improvements by Sebastian Lackner <sebastian@fds-team.de>.
7 files changed, 143 insertions(+), 10 deletions(-)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index 8adb771cde78..d1731f449f7d 100644
index 6a47422ac7f..82f314691c0 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -2014,7 +2014,7 @@ static NTSTATUS fill_file_info( const struct stat *st, ULONG attr, void *ptr,
@ -29,7 +29,7 @@ index 8adb771cde78..d1731f449f7d 100644
data_size_t size = 1024;
NTSTATUS ret;
diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c
index 0401f8d998e7..200c252469c5 100644
index a094c607da4..90617594411 100644
--- a/dlls/ntdll/unix/process.c
+++ b/dlls/ntdll/unix/process.c
@@ -478,7 +478,7 @@ static ULONG get_env_size( const RTL_USER_PROCESS_PARAMETERS *params, char **win
@ -42,7 +42,7 @@ index 0401f8d998e7..200c252469c5 100644
static const WCHAR ntprefixW[] = {'\\','?','?','\\',0};
static const WCHAR uncprefixW[] = {'U','N','C','\\',0};
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index 4ef58f73f3b7..2e64c6d334a5 100644
index 6b7b8a4ce7c..3371a2ffaf0 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -108,6 +108,7 @@ extern void CDECL get_initial_directory( UNICODE_STRING *dir ) DECLSPEC_HIDDEN;
@ -53,19 +53,19 @@ index 4ef58f73f3b7..2e64c6d334a5 100644
extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
extern NTSTATUS CDECL unwind_builtin_dll( ULONG type, struct _DISPATCHER_CONTEXT *dispatch,
@@ -159,6 +160,7 @@ extern unsigned int server_queue_process_apc( HANDLE process, const apc_call_t *
@@ -161,6 +162,7 @@ extern unsigned int server_queue_process_apc( HANDLE process, const apc_call_t *
apc_result_t *result ) DECLSPEC_HIDDEN;
extern int server_get_unix_fd( HANDLE handle, unsigned int wanted_access, int *unix_fd,
int *needs_close, enum server_fd_type *type, unsigned int *options ) DECLSPEC_HIDDEN;
+extern NTSTATUS server_get_unix_name( HANDLE handle, char **unix_name, BOOL nofollow ) DECLSPEC_HIDDEN;
extern void server_init_process(void) DECLSPEC_HIDDEN;
extern size_t server_init_process(void) DECLSPEC_HIDDEN;
extern void server_init_process_done(void) DECLSPEC_HIDDEN;
extern size_t server_init_thread( void *entry_point, BOOL *suspend ) DECLSPEC_HIDDEN;
extern void server_init_thread( void *entry_point, BOOL *suspend ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
index cc1cfce6b093..f041b335a29e 100644
index a136390c994..457bd45e516 100644
--- a/dlls/ntdll/unix/virtual.c
+++ b/dlls/ntdll/unix/virtual.c
@@ -4024,6 +4024,103 @@ static NTSTATUS get_working_set_ex( HANDLE process, LPCVOID addr,
@@ -4042,6 +4042,103 @@ static NTSTATUS get_working_set_ex( HANDLE process, LPCVOID addr,
return STATUS_SUCCESS;
}
@ -169,7 +169,7 @@ index cc1cfce6b093..f041b335a29e 100644
#define UNIMPLEMENTED_INFO_CLASS(c) \
case c: \
FIXME("(process=%p,addr=%p) Unimplemented information class: " #c "\n", process, addr); \
@@ -4048,8 +4145,10 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
@@ -4066,8 +4163,10 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
case MemoryWorkingSetExInformation:
return get_working_set_ex( process, addr, buffer, len, res_len );
@ -182,7 +182,7 @@ index cc1cfce6b093..f041b335a29e 100644
default:
diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c
index be12af583112..3e211a771f93 100644
index be12af58311..3e211a771f9 100644
--- a/dlls/psapi/tests/psapi_main.c
+++ b/dlls/psapi/tests/psapi_main.c
@@ -384,14 +384,7 @@ static BOOL nt_get_mapped_file_name(HANDLE process, LPVOID addr, LPWSTR name, DW
@ -209,10 +209,10 @@ index be12af583112..3e211a771f93 100644
}
diff --git a/server/mapping.c b/server/mapping.c
index 7729d9582477..d5f889771e50 100644
index 9e481646f2f..399d0c76918 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -1139,6 +1139,35 @@ DECL_HANDLER(unmap_view)
@@ -1178,6 +1178,35 @@ DECL_HANDLER(unmap_view)
if (view) free_memory_view( view );
}
@ -249,10 +249,10 @@ index 7729d9582477..d5f889771e50 100644
DECL_HANDLER(get_mapping_committed_range)
{
diff --git a/server/protocol.def b/server/protocol.def
index f1092a00da87..723425c053fc 100644
index 957ef25f967..4888cb63506 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1549,6 +1549,15 @@ enum server_fd_type
@@ -1539,6 +1539,15 @@ enum server_fd_type
@END

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "cfbbde2abce1eedc7f53db3f8af8078fe4a11cac"
echo "433b9081ba7c862feb947400f507228e793d7d4c"
}
# Show version information
@ -98,7 +98,6 @@ patch_enable_all ()
enable_cryptext_CryptExtOpenCER="$1"
enable_d3d11_Deferred_Context="$1"
enable_d3drm_IDirect3D3_support="$1"
enable_d3dx9_32bpp_Alpha_Channel="$1"
enable_d3dx9_36_BumpLuminance="$1"
enable_d3dx9_36_CloneEffect="$1"
enable_d3dx9_36_D3DXDisassembleShader="$1"
@ -380,9 +379,6 @@ patch_enable ()
d3drm-IDirect3D3-support)
enable_d3drm_IDirect3D3_support="$2"
;;
d3dx9-32bpp_Alpha_Channel)
enable_d3dx9_32bpp_Alpha_Channel="$2"
;;
d3dx9_36-BumpLuminance)
enable_d3dx9_36_BumpLuminance="$2"
;;
@ -2034,18 +2030,6 @@ if test "$enable_d3drm_IDirect3D3_support" -eq 1; then
patch_apply d3drm-IDirect3D3-support/0001-d3drm-Support-IDirect3D3-when-creating-device.patch
fi
# Patchset d3dx9-32bpp_Alpha_Channel
# |
# | This patchset fixes the following Wine bugs:
# | * [#48563] Runaway: A Twist of Fate renders its cursor incorrectly
# |
# | Modified files:
# | * dlls/d3dx9_36/surface.c, dlls/d3dx9_36/tests/surface.c
# |
if test "$enable_d3dx9_32bpp_Alpha_Channel" -eq 1; then
patch_apply d3dx9-32bpp_Alpha_Channel/0001-d3dx9-Return-D3DFMT_A8R8G8B8-in-D3DXGetImageInfoFrom.patch
fi
# Patchset d3dx9_36-BumpLuminance
# |
# | Modified files:
@ -3304,7 +3288,7 @@ fi
# | * dlls/ntdll/Makefile.in, dlls/ntdll/critsection.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h, dlls/ntdll/sync.c,
# | dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/om.c, dlls/ntdll/tests/sync.c, dlls/ntdll/thread.c,
# | dlls/ntdll/unix/loader.c, dlls/ntdll/unix/sync.c, dlls/ntdll/unix/thread.c, dlls/ntdll/unix/unix_private.h,
# | dlls/ntdll/unix/virtual.c, dlls/ntdll/unixlib.h, include/winternl.h, server/thread.c
# | dlls/ntdll/unix/virtual.c, dlls/ntdll/unixlib.h, include/winternl.h
# |
if test "$enable_ntdll_NtAlertThreadByThreadId" -eq 1; then
patch_apply ntdll-NtAlertThreadByThreadId/0001-ntdll-tests-Move-some-tests-to-a-new-sync.c-file.patch

View File

@ -1,4 +1,4 @@
From fb47d0b55447f5ec93fb5091fc318c92651f0b40 Mon Sep 17 00:00:00 2001
From 09687ecf83e4ba5b6363bf2ada5df63798e398cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 8 Mar 2017 02:12:37 +0100
Subject: [PATCH] ntdll: Implement ObjectTypesInformation in NtQueryObject.
@ -12,10 +12,10 @@ Subject: [PATCH] ntdll: Implement ObjectTypesInformation in NtQueryObject.
5 files changed, 170 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index d3b932bec1d..e5a123447e2 100644
index 21de385a8bc..84a09bb1bfa 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -78,6 +78,21 @@ static void (WINAPI *pRtlWakeAddressSingle)( const void * );
@@ -83,6 +83,21 @@ static NTSTATUS (WINAPI *pNtCreateDebugObject)( HANDLE *, ACCESS_MASK, OBJECT_AT
#define KEYEDEVENT_WAKE 0x0002
#define KEYEDEVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x0003)
@ -37,8 +37,8 @@ index d3b932bec1d..e5a123447e2 100644
static void test_case_sensitive (void)
{
NTSTATUS status;
@@ -1493,6 +1508,47 @@ static void test_query_object(void)
pNtClose(handle);
@@ -1643,6 +1658,47 @@ static void test_query_object(void)
pNtClose( handle );
}
+static void test_query_object_types(void)
@ -85,7 +85,7 @@ index d3b932bec1d..e5a123447e2 100644
static void test_type_mismatch(void)
{
HANDLE h;
@@ -2090,6 +2146,7 @@ START_TEST(om)
@@ -2389,6 +2445,7 @@ START_TEST(om)
test_directory();
test_symboliclink();
test_query_object();
@ -94,10 +94,10 @@ index d3b932bec1d..e5a123447e2 100644
test_event();
test_mutant();
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index afb552be098..e18daaea5ca 100644
index 7a77b0a874d..342c97c2426 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -130,6 +130,8 @@
@@ -145,6 +145,8 @@
WINE_DEFAULT_DEBUG_CHANNEL(file);
WINE_DECLARE_DEBUG_CHANNEL(winediag);
@ -106,7 +106,7 @@ index afb552be098..e18daaea5ca 100644
#define MAX_DOS_DRIVES 26
#define FILE_WRITE_TO_END_OF_FILE ((LONGLONG)-1)
@@ -6593,6 +6595,57 @@ NTSTATUS WINAPI NtQueryObject( HANDLE handle, OBJECT_INFORMATION_CLASS info_clas
@@ -7544,6 +7546,57 @@ NTSTATUS WINAPI NtQueryObject( HANDLE handle, OBJECT_INFORMATION_CLASS info_clas
break;
}
@ -165,10 +165,10 @@ index afb552be098..e18daaea5ca 100644
{
OBJECT_DATA_INFORMATION* p = ptr;
diff --git a/include/winternl.h b/include/winternl.h
index 9b628474655..2944e03afc0 100644
index 45b4eddd815..4d8b5841d17 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -1115,7 +1115,7 @@ typedef enum _OBJECT_INFORMATION_CLASS {
@@ -1161,7 +1161,7 @@ typedef enum _OBJECT_INFORMATION_CLASS {
ObjectBasicInformation,
ObjectNameInformation,
ObjectTypeInformation,
@ -177,7 +177,7 @@ index 9b628474655..2944e03afc0 100644
ObjectDataInformation
} OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS;
@@ -1554,9 +1554,35 @@ typedef struct _OBJECT_NAME_INFORMATION {
@@ -1600,9 +1600,35 @@ typedef struct _OBJECT_NAME_INFORMATION {
typedef struct __OBJECT_TYPE_INFORMATION {
UNICODE_STRING TypeName;
@ -215,10 +215,10 @@ index 9b628474655..2944e03afc0 100644
#ifdef __WINESRC__
DWORD_PTR ExitStatus;
diff --git a/server/directory.c b/server/directory.c
index 4d6978f61af..82f02ddeb2e 100644
index 2d25667106e..955be98faca 100644
--- a/server/directory.c
+++ b/server/directory.c
@@ -73,6 +73,8 @@ static const struct object_ops object_type_ops =
@@ -74,6 +74,8 @@ static const struct object_ops object_type_ops =
no_destroy /* destroy */
};
@ -227,7 +227,7 @@ index 4d6978f61af..82f02ddeb2e 100644
struct directory
{
@@ -236,7 +238,14 @@ struct object_type *get_object_type( const struct unicode_str *name )
@@ -238,7 +240,14 @@ struct object_type *get_object_type( const struct unicode_str *name )
if ((type = create_named_object( &dir_objtype->obj, &object_type_ops, name,
OBJ_OPENIF | OBJ_PERMANENT, NULL )))
@ -242,7 +242,7 @@ index 4d6978f61af..82f02ddeb2e 100644
return type;
}
@@ -532,3 +541,17 @@ DECL_HANDLER(get_object_type)
@@ -542,3 +551,17 @@ DECL_HANDLER(get_object_type)
}
release_object( obj );
}
@ -261,10 +261,10 @@ index 4d6978f61af..82f02ddeb2e 100644
+ else set_error( STATUS_NO_MORE_ENTRIES );
+}
diff --git a/server/protocol.def b/server/protocol.def
index 85af5f0061c..9bc4ba12042 100644
index 5ff2cd3d082..d1d72e625e9 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3339,6 +3339,15 @@ struct handle_info
@@ -3311,6 +3311,15 @@ struct handle_info
@END
@ -281,5 +281,5 @@ index 85af5f0061c..9bc4ba12042 100644
@REQ(get_token_impersonation_level)
obj_handle_t handle; /* handle to the object */
--
2.28.0
2.29.2

View File

@ -1,4 +1,4 @@
From ad4729eeb457b1957ba925928932f85d79e5534e Mon Sep 17 00:00:00 2001
From 97644f6ad1f0ff31758356d12818de5454640fbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 8 Mar 2017 19:39:29 +0100
Subject: [PATCH] ntdll: Mimic object type behavior for different windows
@ -11,10 +11,10 @@ Subject: [PATCH] ntdll: Mimic object type behavior for different windows
3 files changed, 82 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index dea669f1186..266ec0d63eb 100644
index 13035e12140..b318c0b2e64 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -76,6 +76,7 @@ static void (WINAPI *pRtlWakeAddressAll)( const void * );
@@ -78,6 +78,7 @@ static void (WINAPI *pRtlWakeAddressAll)( const void * );
static void (WINAPI *pRtlWakeAddressSingle)( const void * );
static NTSTATUS (WINAPI *pNtOpenProcess)( HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, const CLIENT_ID * );
static NTSTATUS (WINAPI *pNtCreateDebugObject)( HANDLE *, ACCESS_MASK, OBJECT_ATTRIBUTES *, ULONG );
@ -22,8 +22,8 @@ index dea669f1186..266ec0d63eb 100644
#define KEYEDEVENT_WAIT 0x0001
#define KEYEDEVENT_WAKE 0x0002
@@ -1585,13 +1586,31 @@ static void test_query_object(void)
pNtClose(handle);
@@ -1658,13 +1659,31 @@ static void test_query_object(void)
pNtClose( handle );
}
+static BOOL winver_equal_or_newer(WORD major, WORD minor)
@ -55,7 +55,7 @@ index dea669f1186..266ec0d63eb 100644
buffer = HeapAlloc( GetProcessHeap(), 0, sizeof(OBJECT_TYPES_INFORMATION) );
ok( buffer != NULL, "Failed to allocate memory\n" );
@@ -1619,11 +1638,54 @@ static void test_query_object_types(void)
@@ -1692,11 +1711,54 @@ static void test_query_object_types(void)
ok( type->TypeName.Length == sizeof(typeW) && !strncmpW(typeW, type->TypeName.Buffer, 4),
"Expected 'Type' as first type, got %s\n", wine_dbgstr_us(&type->TypeName) );
}
@ -110,7 +110,7 @@ index dea669f1186..266ec0d63eb 100644
}
static void test_type_mismatch(void)
@@ -2364,6 +2426,7 @@ START_TEST(om)
@@ -2437,6 +2499,7 @@ START_TEST(om)
pRtlWakeAddressSingle = (void *)GetProcAddress(hntdll, "RtlWakeAddressSingle");
pNtOpenProcess = (void *)GetProcAddress(hntdll, "NtOpenProcess");
pNtCreateDebugObject = (void *)GetProcAddress(hntdll, "NtCreateDebugObject");

View File

@ -1 +1 @@
cfbbde2abce1eedc7f53db3f8af8078fe4a11cac
433b9081ba7c862feb947400f507228e793d7d4c