mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 433b9081ba7c862feb947400f507228e793d7d4c.
This commit is contained in:
parent
32b29ad4d8
commit
cae1b3eba0
@ -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
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [48563] Runaway: A Twist of Fate renders its cursor incorrectly
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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");
|
||||
|
@ -1 +1 @@
|
||||
cfbbde2abce1eedc7f53db3f8af8078fe4a11cac
|
||||
433b9081ba7c862feb947400f507228e793d7d4c
|
||||
|
Loading…
Reference in New Issue
Block a user