diff --git a/patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch b/patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch index 10b5887c..8e85d3a4 100644 --- a/patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch +++ b/patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch @@ -1,4 +1,4 @@ -From 70c7589e029a19a3b048cdf5c222fb36e489ba69 Mon Sep 17 00:00:00 2001 +From 4af235c5bc5797cae39578991b302b47052afcbb Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 6 Jul 2020 14:40:43 -0500 Subject: [PATCH] ntdll, server: Implement NtCreateEvent(). @@ -77,12 +77,12 @@ index 87516e7597a..d9c7df967f8 100644 BOOLEAN alertable, const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN; diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c -index 1abc691811b..de4c75afcea 100644 +index f5be91e09d4..b54874b5d3d 100644 --- a/dlls/ntdll/unix/sync.c +++ b/dlls/ntdll/unix/sync.c -@@ -435,6 +435,10 @@ NTSTATUS WINAPI NtCreateEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_ - struct object_attributes *objattr; +@@ -440,6 +440,10 @@ NTSTATUS WINAPI NtCreateEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_ + *handle = 0; if (type != NotificationEvent && type != SynchronizationEvent) return STATUS_INVALID_PARAMETER; + + if (do_esync()) @@ -92,7 +92,7 @@ index 1abc691811b..de4c75afcea 100644 SERVER_START_REQ( create_event ) diff --git a/server/esync.c b/server/esync.c -index 226e70cd1ad..b9e0a455629 100644 +index e41bbbf9349..f89f29150ea 100644 --- a/server/esync.c +++ b/server/esync.c @@ -203,6 +203,13 @@ struct semaphore @@ -125,5 +125,5 @@ index 226e70cd1ad..b9e0a455629 100644 assert( 0 ); } -- -2.29.2 +2.30.2 diff --git a/patches/eventfd_synchronization/0023-ntdll-server-Implement-NtCreateMutant.patch b/patches/eventfd_synchronization/0023-ntdll-server-Implement-NtCreateMutant.patch index 4595048e..0c1eb19b 100644 --- a/patches/eventfd_synchronization/0023-ntdll-server-Implement-NtCreateMutant.patch +++ b/patches/eventfd_synchronization/0023-ntdll-server-Implement-NtCreateMutant.patch @@ -1,4 +1,4 @@ -From 8770d44fb2cdaf01cfd74321712b3b63a2906e31 Mon Sep 17 00:00:00 2001 +From 1496c3a96452deeb4ca687bc61e2125bc82fff71 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 6 Jul 2020 16:34:56 -0500 Subject: [PATCH] ntdll, server: Implement NtCreateMutant(). @@ -6,9 +6,9 @@ Subject: [PATCH] ntdll, server: Implement NtCreateMutant(). --- dlls/ntdll/unix/esync.c | 16 ++++++++++++++++ dlls/ntdll/unix/esync.h | 3 +++ - dlls/ntdll/unix/sync.c | 3 +++ + dlls/ntdll/unix/sync.c | 4 ++++ server/esync.c | 14 ++++++++++++++ - 4 files changed, 36 insertions(+) + 4 files changed, 37 insertions(+) diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c index 88490e08ef9..df9eb2696a1 100644 @@ -59,13 +59,14 @@ index 8480a213b2a..38ebefc9eed 100644 BOOLEAN alertable, const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN; diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c -index 1d2e831964f..56292db271a 100644 +index 47ab533d5c7..7e492320cee 100644 --- a/dlls/ntdll/unix/sync.c +++ b/dlls/ntdll/unix/sync.c -@@ -597,6 +597,9 @@ NTSTATUS WINAPI NtCreateMutant( HANDLE *handle, ACCESS_MASK access, const OBJECT - data_size_t len; +@@ -608,6 +608,10 @@ NTSTATUS WINAPI NtCreateMutant( HANDLE *handle, ACCESS_MASK access, const OBJECT struct object_attributes *objattr; + *handle = 0; ++ + if (do_esync()) + return esync_create_mutex( handle, access, attr, owned ); + @@ -73,7 +74,7 @@ index 1d2e831964f..56292db271a 100644 SERVER_START_REQ( create_mutex ) diff --git a/server/esync.c b/server/esync.c -index ddee22432e5..12911fccb6a 100644 +index ac59779a454..913104e3dd4 100644 --- a/server/esync.c +++ b/server/esync.c @@ -204,6 +204,13 @@ struct semaphore @@ -105,5 +106,5 @@ index ddee22432e5..12911fccb6a 100644 assert( 0 ); } -- -2.28.0 +2.30.2 diff --git a/patches/eventfd_synchronization/0029-ntdll-Implement-NtOpenSemaphore.patch b/patches/eventfd_synchronization/0029-ntdll-Implement-NtOpenSemaphore.patch index 643498b8..161aa39d 100644 --- a/patches/eventfd_synchronization/0029-ntdll-Implement-NtOpenSemaphore.patch +++ b/patches/eventfd_synchronization/0029-ntdll-Implement-NtOpenSemaphore.patch @@ -1,4 +1,4 @@ -From a934f314a164256748e2e9764343504f7cf8050b Mon Sep 17 00:00:00 2001 +From 7f04be3dd881287f1a74b7fe5829fa5917afa054 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 6 Jul 2020 16:56:09 -0500 Subject: [PATCH] ntdll: Implement NtOpenSemaphore(). @@ -6,10 +6,10 @@ Subject: [PATCH] ntdll: Implement NtOpenSemaphore(). --- dlls/ntdll/unix/esync.c | 47 +++++++++++++++++++++++++++++++++++++++++ dlls/ntdll/unix/esync.h | 2 ++ - dlls/ntdll/unix/sync.c | 3 +++ + dlls/ntdll/unix/sync.c | 4 ++++ server/esync.c | 31 +++++++++++++++++++++++++++ server/protocol.def | 12 +++++++++++ - 5 files changed, 95 insertions(+) + 5 files changed, 96 insertions(+) diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c index 6d8653cd107..8e7e50ce777 100644 @@ -90,13 +90,14 @@ index bee08ff857f..2738e8b7f87 100644 extern NTSTATUS esync_create_event( HANDLE *handle, ACCESS_MASK access, diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c -index 64f96a32ccf..35f2ac95d36 100644 +index a51462abeac..36322f6afb6 100644 --- a/dlls/ntdll/unix/sync.c +++ b/dlls/ntdll/unix/sync.c -@@ -349,6 +349,9 @@ NTSTATUS WINAPI NtOpenSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJEC - { +@@ -353,6 +353,10 @@ NTSTATUS WINAPI NtOpenSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJEC NTSTATUS ret; + *handle = 0; ++ + if (do_esync()) + return esync_open_semaphore( handle, access, attr ); + @@ -104,7 +105,7 @@ index 64f96a32ccf..35f2ac95d36 100644 SERVER_START_REQ( open_semaphore ) diff --git a/server/esync.c b/server/esync.c -index 12911fccb6a..1703608263f 100644 +index 913104e3dd4..da97c6c140b 100644 --- a/server/esync.c +++ b/server/esync.c @@ -412,6 +412,37 @@ DECL_HANDLER(create_esync) @@ -146,10 +147,10 @@ index 12911fccb6a..1703608263f 100644 * server. The client should only read from (i.e. wait on) this object. */ DECL_HANDLER(get_esync_fd) diff --git a/server/protocol.def b/server/protocol.def -index 789bc56e7f1..5b8f66ffd80 100644 +index 776d3d72dc2..575cf291bb0 100644 --- a/server/protocol.def +++ b/server/protocol.def -@@ -3690,6 +3690,18 @@ enum esync_type +@@ -3750,6 +3750,18 @@ enum esync_type unsigned int shm_idx; @END @@ -169,5 +170,5 @@ index 789bc56e7f1..5b8f66ffd80 100644 @REQ(get_esync_fd) obj_handle_t handle; /* handle to the object */ -- -2.28.0 +2.30.2 diff --git a/patches/eventfd_synchronization/0030-ntdll-Implement-NtOpenEvent.patch b/patches/eventfd_synchronization/0030-ntdll-Implement-NtOpenEvent.patch index a3f2d9ef..30613371 100644 --- a/patches/eventfd_synchronization/0030-ntdll-Implement-NtOpenEvent.patch +++ b/patches/eventfd_synchronization/0030-ntdll-Implement-NtOpenEvent.patch @@ -1,4 +1,4 @@ -From 9898e1c47bdba4bda336b9c17a20d34d68e66215 Mon Sep 17 00:00:00 2001 +From 96393a0cd6acfcb87d11488e726d4e294e646c4f Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 6 Jul 2020 16:58:19 -0500 Subject: [PATCH] ntdll: Implement NtOpenEvent(). @@ -42,11 +42,11 @@ index 2738e8b7f87..da1b72d4413 100644 extern NTSTATUS esync_set_event( HANDLE handle ) DECLSPEC_HIDDEN; diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c -index 35f2ac95d36..9296b172f88 100644 +index 36322f6afb6..6bc8200f46b 100644 --- a/dlls/ntdll/unix/sync.c +++ b/dlls/ntdll/unix/sync.c -@@ -467,6 +467,9 @@ NTSTATUS WINAPI NtOpenEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_AT - +@@ -476,6 +476,9 @@ NTSTATUS WINAPI NtOpenEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_AT + *handle = 0; if ((ret = validate_open_object_attributes( attr ))) return ret; + if (do_esync()) @@ -56,5 +56,5 @@ index 35f2ac95d36..9296b172f88 100644 { req->access = access; -- -2.28.0 +2.30.2 diff --git a/patches/eventfd_synchronization/0031-ntdll-Implement-NtOpenMutant.patch b/patches/eventfd_synchronization/0031-ntdll-Implement-NtOpenMutant.patch index 32a49ca2..0275f5fc 100644 --- a/patches/eventfd_synchronization/0031-ntdll-Implement-NtOpenMutant.patch +++ b/patches/eventfd_synchronization/0031-ntdll-Implement-NtOpenMutant.patch @@ -1,4 +1,4 @@ -From 7f91f35e896ffb63409c1d1a619565f35a65ef7f Mon Sep 17 00:00:00 2001 +From 995f2ecab37c47bb3112d11ce2313d37711965ca Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 6 Jul 2020 16:59:35 -0500 Subject: [PATCH] ntdll: Implement NtOpenMutant(). @@ -42,11 +42,11 @@ index da1b72d4413..cb48e2cd022 100644 extern NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_any, diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c -index 9296b172f88..4a97cdd32fd 100644 +index 6bc8200f46b..c1c57caab40 100644 --- a/dlls/ntdll/unix/sync.c +++ b/dlls/ntdll/unix/sync.c -@@ -632,6 +632,9 @@ NTSTATUS WINAPI NtOpenMutant( HANDLE *handle, ACCESS_MASK access, const OBJECT_A - +@@ -646,6 +646,9 @@ NTSTATUS WINAPI NtOpenMutant( HANDLE *handle, ACCESS_MASK access, const OBJECT_A + *handle = 0; if ((ret = validate_open_object_attributes( attr ))) return ret; + if (do_esync()) @@ -56,5 +56,5 @@ index 9296b172f88..4a97cdd32fd 100644 { req->access = access; -- -2.28.0 +2.30.2 diff --git a/patches/gdi32-rotation/0001-gdi32-fix-for-rotated-Arc-ArcTo-Chord-and-Pie-drawin.patch b/patches/gdi32-rotation/0001-gdi32-fix-for-rotated-Arc-ArcTo-Chord-and-Pie-drawin.patch index b0eadff4..df195d9d 100644 --- a/patches/gdi32-rotation/0001-gdi32-fix-for-rotated-Arc-ArcTo-Chord-and-Pie-drawin.patch +++ b/patches/gdi32-rotation/0001-gdi32-fix-for-rotated-Arc-ArcTo-Chord-and-Pie-drawin.patch @@ -1,4 +1,4 @@ -From 08589063da9bd5fb5cda045b38f1de28f967402c Mon Sep 17 00:00:00 2001 +From 33ecf353e570a23692a2b65d21adc607e7fd1d32 Mon Sep 17 00:00:00 2001 From: Daniel Wendt Date: Fri, 15 Nov 2013 12:52:37 +0100 Subject: [PATCH] gdi32: fix for rotated Arc, ArcTo, Chord and Pie drawing @@ -11,7 +11,7 @@ Wine-Bug: http://bugs.winehq.org/show_bug.cgi?id=34579 2 files changed, 83 insertions(+) diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c -index b6ae4ab10e2..4b443f1fc65 100644 +index 62384601c5a..5fd28583aa9 100644 --- a/dlls/gdi32/dibdrv/graphics.c +++ b/dlls/gdi32/dibdrv/graphics.c @@ -312,6 +312,60 @@ static int get_arc_points( int arc_dir, const RECT *rect, POINT start, POINT end @@ -116,12 +116,12 @@ index b6ae4ab10e2..4b443f1fc65 100644 { HeapFree( GetProcessHeap(), 0, points ); diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h -index 1dfd3b2424c..20d0b9af5e0 100644 +index 481bc14d7f3..7d37785be2a 100644 --- a/dlls/gdi32/gdi_private.h +++ b/dlls/gdi32/gdi_private.h -@@ -70,4 +70,7 @@ extern BOOL EMFDC_Rectangle( DC_ATTR *dc_attr, INT left, INT top, INT right, - extern BOOL EMFDC_RoundRect( DC_ATTR *dc_attr, INT left, INT top, INT right, INT bottom, +@@ -95,4 +95,7 @@ extern BOOL EMFDC_RoundRect( DC_ATTR *dc_attr, INT left, INT top, INT right, INT INT ell_width, INT ell_height ) DECLSPEC_HIDDEN; + extern BOOL EMFDC_SetPixel( DC_ATTR *dc_attr, INT x, INT y, COLORREF color ) DECLSPEC_HIDDEN; +BOOL xform_has_rotate_and_uniform_scale_and_shear( const XFORM *xform ) DECLSPEC_HIDDEN; +BOOL xform_decompose_rotation_and_translation( XFORM *xform, XFORM *rotation_and_translation ) DECLSPEC_HIDDEN; diff --git a/patches/ntdll-NtAlertThreadByThreadId/0001-ntdll-tests-Move-some-tests-to-a-new-sync.c-file.patch b/patches/ntdll-NtAlertThreadByThreadId/0001-ntdll-tests-Move-some-tests-to-a-new-sync.c-file.patch index ea1e736a..3193093b 100644 --- a/patches/ntdll-NtAlertThreadByThreadId/0001-ntdll-tests-Move-some-tests-to-a-new-sync.c-file.patch +++ b/patches/ntdll-NtAlertThreadByThreadId/0001-ntdll-tests-Move-some-tests-to-a-new-sync.c-file.patch @@ -1,4 +1,4 @@ -From 68c31664972be60b93397bf7d8a9cfab11baf046 Mon Sep 17 00:00:00 2001 +From 4a177b109c83201a0f5015880af3f4bc221d7972 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Thu, 9 Jan 2020 13:44:01 -0600 Subject: [PATCH] ntdll/tests: Move some tests to a new sync.c file. @@ -24,7 +24,7 @@ index 7ad39e0992c..8c6a86fb965 100644 time.c \ virtual.c \ diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c -index 81be7de00f6..9a9536f4639 100644 +index af5e014f069..77eb58a23b5 100644 --- a/dlls/ntdll/tests/om.c +++ b/dlls/ntdll/tests/om.c @@ -30,10 +30,6 @@ @@ -66,7 +66,7 @@ index 81be7de00f6..9a9536f4639 100644 static NTSTATUS (WINAPI *pNtOpenProcess)( HANDLE *, ACCESS_MASK, const OBJECT_ATTRIBUTES *, const CLIENT_ID * ); static NTSTATUS (WINAPI *pNtCreateDebugObject)( HANDLE *, ACCESS_MASK, OBJECT_ATTRIBUTES *, ULONG ); static NTSTATUS (WINAPI *pNtGetNextThread)(HANDLE process, HANDLE thread, ACCESS_MASK access, ULONG attributes, -@@ -1722,286 +1709,6 @@ static void test_type_mismatch(void) +@@ -1939,286 +1926,6 @@ static void test_type_mismatch(void) pNtClose( h ); } @@ -353,7 +353,7 @@ index 81be7de00f6..9a9536f4639 100644 static void test_null_device(void) { OBJECT_ATTRIBUTES attr; -@@ -2075,269 +1782,6 @@ static void test_null_device(void) +@@ -2292,269 +1999,6 @@ static void test_null_device(void) CloseHandle(ov.hEvent); } @@ -623,7 +623,7 @@ index 81be7de00f6..9a9536f4639 100644 static void test_process(void) { OBJECT_ATTRIBUTES attr; -@@ -2669,13 +2113,7 @@ START_TEST(om) +@@ -2957,13 +2401,7 @@ START_TEST(om) pNtCreateMailslotFile = (void *)GetProcAddress(hntdll, "NtCreateMailslotFile"); pNtCreateMutant = (void *)GetProcAddress(hntdll, "NtCreateMutant"); pNtOpenEvent = (void *)GetProcAddress(hntdll, "NtOpenEvent"); @@ -637,7 +637,7 @@ index 81be7de00f6..9a9536f4639 100644 pNtOpenFile = (void *)GetProcAddress(hntdll, "NtOpenFile"); pNtClose = (void *)GetProcAddress(hntdll, "NtClose"); pRtlInitUnicodeString = (void *)GetProcAddress(hntdll, "RtlInitUnicodeString"); -@@ -2687,7 +2125,6 @@ START_TEST(om) +@@ -2975,7 +2413,6 @@ START_TEST(om) pNtQuerySymbolicLinkObject = (void *)GetProcAddress(hntdll, "NtQuerySymbolicLinkObject"); pNtCreateSemaphore = (void *)GetProcAddress(hntdll, "NtCreateSemaphore"); pNtOpenSemaphore = (void *)GetProcAddress(hntdll, "NtOpenSemaphore"); @@ -645,7 +645,7 @@ index 81be7de00f6..9a9536f4639 100644 pNtCreateTimer = (void *)GetProcAddress(hntdll, "NtCreateTimer"); pNtOpenTimer = (void *)GetProcAddress(hntdll, "NtOpenTimer"); pNtCreateSection = (void *)GetProcAddress(hntdll, "NtCreateSection"); -@@ -2696,15 +2133,9 @@ START_TEST(om) +@@ -2984,15 +2421,9 @@ START_TEST(om) pNtReleaseSemaphore = (void *)GetProcAddress(hntdll, "NtReleaseSemaphore"); pNtCreateKeyedEvent = (void *)GetProcAddress(hntdll, "NtCreateKeyedEvent"); pNtOpenKeyedEvent = (void *)GetProcAddress(hntdll, "NtOpenKeyedEvent"); @@ -661,7 +661,7 @@ index 81be7de00f6..9a9536f4639 100644 pNtOpenProcess = (void *)GetProcAddress(hntdll, "NtOpenProcess"); pNtCreateDebugObject = (void *)GetProcAddress(hntdll, "NtCreateDebugObject"); pNtGetNextThread = (void *)GetProcAddress(hntdll, "NtGetNextThread"); -@@ -2717,12 +2148,7 @@ START_TEST(om) +@@ -3009,12 +2440,7 @@ START_TEST(om) test_symboliclink(); test_query_object(); test_type_mismatch(); @@ -672,8 +672,8 @@ index 81be7de00f6..9a9536f4639 100644 test_null_device(); - test_wait_on_address(); test_process(); - test_object_types(); - test_get_next_thread(); + test_token(); + test_duplicate_object(); diff --git a/dlls/ntdll/tests/sync.c b/dlls/ntdll/tests/sync.c new file mode 100644 index 00000000000..3d6b6a3a04d diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 7f0920dc..80bad9cb 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "c518a5362b925379b1a79e8323d60e19863effc1" + echo "a5f787ac445a682ea7ced5dd78c3516d4b8b9311" } # Show version information diff --git a/staging/upstream-commit b/staging/upstream-commit index e3ebb7b0..516a0567 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -c518a5362b925379b1a79e8323d60e19863effc1 +a5f787ac445a682ea7ced5dd78c3516d4b8b9311