diff --git a/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch b/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch index fed6f872..46181ee3 100644 --- a/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch +++ b/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch @@ -1,4 +1,4 @@ -From ad881c0cf988811e4b8662eac50f8998dfed40ca Mon Sep 17 00:00:00 2001 +From a43255ead53a49837e7995ab4de0afa8e05e6334 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 6 Jul 2020 15:11:12 -0500 Subject: [PATCH] server: Create eventfd file descriptors for process objects. @@ -49,7 +49,7 @@ index 00f9e638d83..8522d8a69ae 100644 void esync_init(void); +int esync_create_fd( int initval, int flags ); diff --git a/server/process.c b/server/process.c -index 4a5ef0876b0..a7be3ee3876 100644 +index 031c0fece13..eb073551b57 100644 --- a/server/process.c +++ b/server/process.c @@ -63,6 +63,7 @@ @@ -85,9 +85,9 @@ index 4a5ef0876b0..a7be3ee3876 100644 list_init( &process->kernel_object ); list_init( &process->thread_list ); list_init( &process->locks ); -@@ -744,6 +747,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla - if (!token_assign_label( process->token, &high_label_sid )) - goto error; +@@ -738,6 +741,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla + if (!process->handles || !process->token) goto error; + process->session_id = token_get_session_id( process->token ); + if (do_esync()) + process->esync_fd = esync_create_fd( 0, 0 ); @@ -95,7 +95,7 @@ index 4a5ef0876b0..a7be3ee3876 100644 set_fd_events( process->msg_fd, POLLIN ); /* start listening to events */ return process; -@@ -792,6 +798,7 @@ static void process_destroy( struct object *obj ) +@@ -786,6 +792,7 @@ static void process_destroy( struct object *obj ) free( process->rawinput_devices ); free( process->dir_cache ); free( process->image ); @@ -103,7 +103,7 @@ index 4a5ef0876b0..a7be3ee3876 100644 } /* dump a process on stdout for debugging purposes */ -@@ -809,6 +816,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry +@@ -803,6 +810,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry return !process->running_threads; } diff --git a/patches/user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch b/patches/user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch index 3aa4ce89..8d5f4c4b 100644 --- a/patches/user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch +++ b/patches/user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch @@ -1,4 +1,4 @@ -From 6d96e152773789f92da783e40969bf94624b7d61 Mon Sep 17 00:00:00 2001 +From 76d256b461af14a89c54da1cf6c2002118372d1f Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Fri, 12 Dec 2014 05:06:31 +0100 Subject: [PATCH] win32u: Fix return value of ScrollWindowEx for invisible @@ -9,25 +9,25 @@ Subject: [PATCH] win32u: Fix return value of ScrollWindowEx for invisible 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/win32u/dce.c b/dlls/win32u/dce.c -index 872112e4a24..4d56b23433e 100644 +index cfa3510c60b..2315a16d1b4 100644 --- a/dlls/win32u/dce.c +++ b/dlls/win32u/dce.c -@@ -1672,10 +1672,13 @@ INT WINAPI NtUserScrollWindowEx( HWND hwnd, INT dx, INT dy, const RECT *rect, +@@ -1631,10 +1631,13 @@ INT WINAPI NtUserScrollWindowEx( HWND hwnd, INT dx, INT dy, const RECT *rect, rdw_flags = (flags & SW_ERASE) && (flags & SW_INVALIDATE) ? RDW_INVALIDATE | RDW_ERASE : RDW_INVALIDATE; - if (!is_window_drawable( hwnd, TRUE )) return ERROR; hwnd = get_full_window_handle( hwnd ); -- get_client_rect( hwnd, &rc ); +- get_client_rect( hwnd, &rc, get_thread_dpi() ); + if (!is_window_drawable( hwnd, TRUE )) + SetRectEmpty( &rc ); + else -+ get_client_rect( hwnd, &rc ); -+ ++ get_client_rect( hwnd, &rc, get_thread_dpi() ); ++ if (clip_rect) intersect_rect( &cliprc, &rc, clip_rect ); else cliprc = rc; -- -2.36.1 +2.43.0 diff --git a/staging/upstream-commit b/staging/upstream-commit index d191dcd6..d8e394a7 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -6a512200f4719ea6b0be6de83cac632112a38b36 +9f6e44fd9ca7d39258f2772c3f44013142702ca4