You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1d21e2b6f5 | ||
|
fcaab59ec5 | ||
|
8708356647 | ||
|
d3ed71430a | ||
|
fb2b3b3c69 | ||
|
9fd1bb66d3 | ||
|
86091d3b1f | ||
|
ab31919ee5 | ||
|
6638f9ee79 | ||
|
92ce758ac8 | ||
|
0de9d1028b | ||
|
7a2920aa2a |
@@ -1 +1,2 @@
|
||||
Fixes: [44052] - Support for font fallback.
|
||||
Disabled: True
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 3e714e2eb10fe17f12b747731c0ce7e18fd4b7a0 Mon Sep 17 00:00:00 2001
|
||||
From 61fb7e02aa6779469e94c79f1132c4991cb27244 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 15:11:12 -0500
|
||||
Subject: [PATCH] server: Create eventfd file descriptors for process objects.
|
||||
@@ -40,16 +40,16 @@ index c7b0323f204..27049ffbdb0 100644
|
||||
{
|
||||
struct esync *esync;
|
||||
diff --git a/server/esync.h b/server/esync.h
|
||||
index 7ca4ca89394..6a0a367124d 100644
|
||||
index 00f9e638d83..8522d8a69ae 100644
|
||||
--- a/server/esync.h
|
||||
+++ b/server/esync.h
|
||||
@@ -20,3 +20,4 @@
|
||||
@@ -22,3 +22,4 @@
|
||||
|
||||
extern int do_esync(void);
|
||||
void esync_init(void);
|
||||
+int esync_create_fd( int initval, int flags );
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index da972a41955..91b26d00ec0 100644
|
||||
index da11b90c613..22ac16fb540 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -63,6 +63,7 @@
|
||||
@@ -77,7 +77,7 @@ index da972a41955..91b26d00ec0 100644
|
||||
no_satisfied, /* satisfied */
|
||||
no_signal, /* signal */
|
||||
no_get_fd, /* get_fd */
|
||||
@@ -684,6 +686,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
@@ -686,6 +688,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
process->rawinput_mouse = NULL;
|
||||
process->rawinput_kbd = NULL;
|
||||
memset( &process->image_info, 0, sizeof(process->image_info) );
|
||||
@@ -85,7 +85,7 @@ index da972a41955..91b26d00ec0 100644
|
||||
list_init( &process->kernel_object );
|
||||
list_init( &process->thread_list );
|
||||
list_init( &process->locks );
|
||||
@@ -741,6 +744,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
@@ -742,6 +745,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
|
||||
if (!token_assign_label( process->token, &high_label_sid ))
|
||||
goto error;
|
||||
|
||||
@@ -95,15 +95,15 @@ index da972a41955..91b26d00ec0 100644
|
||||
set_fd_events( process->msg_fd, POLLIN ); /* start listening to events */
|
||||
return process;
|
||||
|
||||
@@ -787,6 +793,7 @@ static void process_destroy( struct object *obj )
|
||||
if (process->token) release_object( process->token );
|
||||
@@ -789,6 +795,7 @@ static void process_destroy( struct object *obj )
|
||||
free( process->rawinput_devices );
|
||||
free( process->dir_cache );
|
||||
free( process->image );
|
||||
+ if (do_esync()) close( process->esync_fd );
|
||||
}
|
||||
|
||||
/* dump a process on stdout for debugging purposes */
|
||||
@@ -804,6 +811,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
|
||||
@@ -806,6 +813,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
|
||||
return !process->running_threads;
|
||||
}
|
||||
|
||||
@@ -118,10 +118,10 @@ index da972a41955..91b26d00ec0 100644
|
||||
{
|
||||
access = default_map_access( obj, access );
|
||||
diff --git a/server/process.h b/server/process.h
|
||||
index 632faf9c4bf..1ba69b3406e 100644
|
||||
index 97e0d455ece..a0a071d8f88 100644
|
||||
--- a/server/process.h
|
||||
+++ b/server/process.h
|
||||
@@ -90,6 +90,7 @@ struct process
|
||||
@@ -85,6 +85,7 @@ struct process
|
||||
const struct rawinput_device *rawinput_kbd; /* rawinput keyboard device, if any */
|
||||
struct list kernel_object; /* list of kernel object pointers */
|
||||
pe_image_info_t image_info; /* main exe image info */
|
||||
@@ -130,5 +130,5 @@ index 632faf9c4bf..1ba69b3406e 100644
|
||||
|
||||
/* process functions */
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e0a89702e35941e75ce06f795966c92b3f195ed8 Mon Sep 17 00:00:00 2001
|
||||
From ca6a89f3bfb6aa5d7ac05bb0c469b527ae1a9d9d Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <zfigura@codeweavers.com>
|
||||
Date: Mon, 6 Jul 2020 16:11:23 -0500
|
||||
Subject: [PATCH] server, ntdll: Implement message waits.
|
||||
@@ -10,10 +10,10 @@ Subject: [PATCH] server, ntdll: Implement message waits.
|
||||
3 files changed, 75 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
|
||||
index fcbe563bb5a..88490e08ef9 100644
|
||||
index 2ae334d8417..608c318c1c7 100644
|
||||
--- a/dlls/ntdll/unix/esync.c
|
||||
+++ b/dlls/ntdll/unix/esync.c
|
||||
@@ -482,12 +482,13 @@ static void update_grabbed_object( struct esync *obj )
|
||||
@@ -475,12 +475,13 @@ static void update_grabbed_object( struct esync *obj )
|
||||
|
||||
/* A value of STATUS_NOT_IMPLEMENTED returned from this function means that we
|
||||
* need to delegate to server_select(). */
|
||||
@@ -28,7 +28,7 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
LONGLONG timeleft;
|
||||
LARGE_INTEGER now;
|
||||
ULONGLONG end;
|
||||
@@ -515,6 +516,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
@@ -508,6 +509,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
if (has_esync && has_server)
|
||||
FIXME("Can't wait on esync and server objects at the same time!\n");
|
||||
else if (has_server)
|
||||
@@ -526,6 +530,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
@@ -519,6 +523,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
for (i = 0; i < count; i++)
|
||||
TRACE(" %p", handles[i]);
|
||||
|
||||
@@ -48,7 +48,7 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
if (!timeout)
|
||||
TRACE(", timeout = INFINITE.\n");
|
||||
else
|
||||
@@ -565,7 +572,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
@@ -558,7 +565,9 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
int64_t value;
|
||||
ssize_t size;
|
||||
|
||||
@@ -59,7 +59,7 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
{
|
||||
/* Don't grab the object, just check if it's signaled. */
|
||||
if (fds[i].revents & POLLIN)
|
||||
@@ -610,6 +619,44 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
@@ -603,6 +612,44 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,10 +105,10 @@ index fcbe563bb5a..88490e08ef9 100644
|
||||
{
|
||||
struct stat st;
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index cf00ab99c63..ecbb78cc9bb 100644
|
||||
index 5cf63cbac21..f837944574e 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -3734,3 +3734,8 @@ enum esync_type
|
||||
@@ -3797,3 +3797,8 @@ enum esync_type
|
||||
int type;
|
||||
unsigned int shm_idx;
|
||||
@END
|
||||
@@ -118,10 +118,10 @@ index cf00ab99c63..ecbb78cc9bb 100644
|
||||
+ int in_msgwait; /* are we in a message wait? */
|
||||
+@END
|
||||
diff --git a/server/queue.c b/server/queue.c
|
||||
index d34bc284d08..f4edb299dc3 100644
|
||||
index 1702acb8480..9593ae532d4 100644
|
||||
--- a/server/queue.c
|
||||
+++ b/server/queue.c
|
||||
@@ -146,6 +146,7 @@ struct msg_queue
|
||||
@@ -144,6 +144,7 @@ struct msg_queue
|
||||
int keystate_lock; /* owns an input keystate lock */
|
||||
unsigned int ignore_post_msg; /* ignore post messages newer than this unique id */
|
||||
int esync_fd; /* esync file descriptor (signalled on message) */
|
||||
@@ -129,7 +129,7 @@ index d34bc284d08..f4edb299dc3 100644
|
||||
};
|
||||
|
||||
struct hotkey
|
||||
@@ -319,6 +320,7 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
|
||||
@@ -317,6 +318,7 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
|
||||
queue->keystate_lock = 0;
|
||||
queue->ignore_post_msg = 0;
|
||||
queue->esync_fd = -1;
|
||||
@@ -137,7 +137,7 @@ index d34bc284d08..f4edb299dc3 100644
|
||||
list_init( &queue->send_result );
|
||||
list_init( &queue->callback_result );
|
||||
list_init( &queue->pending_timers );
|
||||
@@ -1002,6 +1004,10 @@ static int is_queue_hung( struct msg_queue *queue )
|
||||
@@ -1001,6 +1003,10 @@ static int is_queue_hung( struct msg_queue *queue )
|
||||
if (get_wait_queue_thread(entry)->queue == queue)
|
||||
return 0; /* thread is waiting on queue -> not hung */
|
||||
}
|
||||
@@ -148,9 +148,9 @@ index d34bc284d08..f4edb299dc3 100644
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -3416,3 +3422,18 @@ DECL_HANDLER(get_rawinput_devices)
|
||||
devices[i++] = e->device;
|
||||
}
|
||||
@@ -3456,3 +3462,18 @@ DECL_HANDLER(update_rawinput_devices)
|
||||
process->rawinput_mouse = find_rawinput_device( process, 1, 2 );
|
||||
process->rawinput_kbd = find_rawinput_device( process, 1, 6 );
|
||||
}
|
||||
+
|
||||
+DECL_HANDLER(esync_msgwait)
|
||||
@@ -168,5 +168,5 @@ index d34bc284d08..f4edb299dc3 100644
|
||||
+ set_fd_events( queue->fd, req->in_msgwait ? POLLIN : 0 );
|
||||
+}
|
||||
--
|
||||
2.30.2
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 505384ad65984c3fc18c1c1a7b1fd39ecd0186f1 Mon Sep 17 00:00:00 2001
|
||||
From 07694655cf43e87ffc6185a5e7fe8d1bdd8658a4 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Wed, 13 Jun 2018 23:32:04 -0500
|
||||
Subject: [PATCH] kernel32/tests: Add some mutex tests.
|
||||
@@ -8,11 +8,11 @@ Subject: [PATCH] kernel32/tests: Add some mutex tests.
|
||||
1 file changed, 94 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/sync.c b/dlls/kernel32/tests/sync.c
|
||||
index ea54cb069df..790b7bfe797 100644
|
||||
index bc85126d9aa..491052d5593 100644
|
||||
--- a/dlls/kernel32/tests/sync.c
|
||||
+++ b/dlls/kernel32/tests/sync.c
|
||||
@@ -177,8 +177,23 @@ static void test_signalandwait(void)
|
||||
CloseHandle(file);
|
||||
@@ -227,8 +227,23 @@ static void test_temporary_objects(void)
|
||||
ok(GetLastError() == ERROR_FILE_NOT_FOUND, "wrong error %lu\n", GetLastError());
|
||||
}
|
||||
|
||||
+static HANDLE mutex, mutex2, mutices[2];
|
||||
@@ -35,7 +35,7 @@ index ea54cb069df..790b7bfe797 100644
|
||||
DWORD wait_ret;
|
||||
BOOL ret;
|
||||
HANDLE hCreated;
|
||||
@@ -289,6 +304,85 @@ todo_wine_if(getenv("WINEESYNC")) /* XFAIL: due to the above */
|
||||
@@ -339,6 +354,85 @@ todo_wine_if(getenv("WINEESYNC")) /* XFAIL: due to the above */
|
||||
CloseHandle(hOpened);
|
||||
|
||||
CloseHandle(hCreated);
|
||||
@@ -122,5 +122,5 @@ index ea54cb069df..790b7bfe797 100644
|
||||
|
||||
static void test_slist(void)
|
||||
--
|
||||
2.28.0
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,25 +0,0 @@
|
||||
From 240b46c41f284b6ff96b990b9b719a18919fb6dd Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 3 Mar 2021 08:56:39 +1100
|
||||
Subject: [PATCH 1/2] ntdll: Check return parameter before use
|
||||
|
||||
---
|
||||
dlls/ntdll/sec.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c
|
||||
index eccfc82ce8c..5c1c9b1fbb0 100644
|
||||
--- a/dlls/ntdll/sec.c
|
||||
+++ b/dlls/ntdll/sec.c
|
||||
@@ -1172,6 +1172,8 @@ NTSTATUS WINAPI RtlAddAce(
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
if (!RtlFirstFreeAce(acl,&targetace))
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
+ if (!targetace)
|
||||
+ return STATUS_ALLOTTED_SPACE_EXCEEDED;
|
||||
nrofaces=0;ace=acestart;
|
||||
while (((BYTE *)ace - (BYTE *)acestart) < acelen) {
|
||||
nrofaces++;
|
||||
--
|
||||
2.30.1
|
||||
|
@@ -1,28 +0,0 @@
|
||||
From 0d2d659fbfb73fe046626d256ca5ee2878d9288b Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 8 Feb 2021 13:16:52 +1100
|
||||
Subject: [PATCH 2/2] ntdll: RtlFirstFreeAce only return FALSE on error
|
||||
|
||||
---
|
||||
dlls/ntdll/sec.c | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c
|
||||
index 5c1c9b1fbb0..9cebcb4f58e 100644
|
||||
--- a/dlls/ntdll/sec.c
|
||||
+++ b/dlls/ntdll/sec.c
|
||||
@@ -1149,9 +1149,8 @@ BOOLEAN WINAPI RtlFirstFreeAce(
|
||||
return FALSE;
|
||||
ace = (PACE_HEADER)(((BYTE*)ace)+ace->AceSize);
|
||||
}
|
||||
- if ((BYTE *)ace >= (BYTE *)acl + acl->AclSize)
|
||||
- return FALSE;
|
||||
- *x = ace;
|
||||
+ if ((BYTE *)ace <= (BYTE *)acl + acl->AclSize)
|
||||
+ *x = ace;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
--
|
||||
2.30.1
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [50624] Waves Central 12.0.5 fails to start.
|
@@ -1,4 +1,4 @@
|
||||
From 109ef0c4769a50904accb044a5d569af8261e305 Mon Sep 17 00:00:00 2001
|
||||
From 0e455713af03b7f91fea4332c893390a8de8ca44 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: [PATCH] ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
|
||||
@@ -20,7 +20,7 @@ index 90deb5865f8..428ebde23b3 100644
|
||||
C_SRCS = \
|
||||
atom.c \
|
||||
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
|
||||
index aeae4e8adf3..52b06d33b54 100644
|
||||
index 2e0bfb650e4..cdb159479f2 100644
|
||||
--- a/dlls/ntdll/tests/rtl.c
|
||||
+++ b/dlls/ntdll/tests/rtl.c
|
||||
@@ -27,6 +27,9 @@
|
||||
@@ -53,8 +53,8 @@ index aeae4e8adf3..52b06d33b54 100644
|
||||
pLdrRegisterDllNotification = (void *)GetProcAddress(hntdll, "LdrRegisterDllNotification");
|
||||
pLdrUnregisterDllNotification = (void *)GetProcAddress(hntdll, "LdrUnregisterDllNotification");
|
||||
}
|
||||
@@ -3682,6 +3691,76 @@ static void test_RtlDestroyHeap(void)
|
||||
RtlRemoveVectoredExceptionHandler( handler );
|
||||
@@ -3730,6 +3739,76 @@ static void test_RtlFirstFreeAce(void)
|
||||
HeapFree(GetProcessHeap(), 0, acl);
|
||||
}
|
||||
|
||||
+static void test_RtlQueryPackageIdentity(void)
|
||||
@@ -130,7 +130,7 @@ index aeae4e8adf3..52b06d33b54 100644
|
||||
START_TEST(rtl)
|
||||
{
|
||||
InitFunctionPtrs();
|
||||
@@ -3721,6 +3800,7 @@ START_TEST(rtl)
|
||||
@@ -3769,6 +3848,7 @@ START_TEST(rtl)
|
||||
test_RtlInitializeCriticalSectionEx();
|
||||
test_RtlLeaveCriticalSection();
|
||||
test_LdrEnumerateLoadedModules();
|
||||
|
@@ -51,13 +51,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "dfff9217746e5076aba35513c6d4bc3d271d109c"
|
||||
echo "c86955d3806879fc97b127730e9fb90e232710a7"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 7.13"
|
||||
echo "Wine Staging 7.14"
|
||||
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
|
||||
echo "Copyright (C) 2018-2020 Alistair Leslie-Hughes"
|
||||
echo ""
|
||||
@@ -108,7 +108,6 @@ patch_enable_all ()
|
||||
enable_dinput_joy_mappings="$1"
|
||||
enable_dsound_EAX="$1"
|
||||
enable_dsound_Fast_Mixer="$1"
|
||||
enable_dwrite_FontFallback="$1"
|
||||
enable_eventfd_synchronization="$1"
|
||||
enable_explorer_Video_Registry_Key="$1"
|
||||
enable_fltmgr_sys_FltBuildDefaultSecurityDescriptor="$1"
|
||||
@@ -146,7 +145,6 @@ patch_enable_all ()
|
||||
enable_ntdll_NtQuerySection="$1"
|
||||
enable_ntdll_NtSetLdtEntries="$1"
|
||||
enable_ntdll_ProcessQuotaLimits="$1"
|
||||
enable_ntdll_RtlFirstFreeAce="$1"
|
||||
enable_ntdll_RtlQueryPackageIdentity="$1"
|
||||
enable_ntdll_Serial_Port_Detection="$1"
|
||||
enable_ntdll_Syscall_Emulation="$1"
|
||||
@@ -257,6 +255,7 @@ patch_enable_all ()
|
||||
enable_winex11_drv_Query_server_position="$1"
|
||||
enable_wininet_Cleanup="$1"
|
||||
enable_winmm_mciSendCommandA="$1"
|
||||
enable_winspool_drv_ClosePrinter="$1"
|
||||
enable_wintab32_improvements="$1"
|
||||
enable_wintrust_WTHelperGetProvCertFromChain="$1"
|
||||
enable_ws2_32_SIO_IDEAL_SEND_BACKLOG_QUERY="$1"
|
||||
@@ -349,9 +348,6 @@ patch_enable ()
|
||||
dsound-Fast_Mixer)
|
||||
enable_dsound_Fast_Mixer="$2"
|
||||
;;
|
||||
dwrite-FontFallback)
|
||||
enable_dwrite_FontFallback="$2"
|
||||
;;
|
||||
eventfd_synchronization)
|
||||
enable_eventfd_synchronization="$2"
|
||||
;;
|
||||
@@ -463,9 +459,6 @@ patch_enable ()
|
||||
ntdll-ProcessQuotaLimits)
|
||||
enable_ntdll_ProcessQuotaLimits="$2"
|
||||
;;
|
||||
ntdll-RtlFirstFreeAce)
|
||||
enable_ntdll_RtlFirstFreeAce="$2"
|
||||
;;
|
||||
ntdll-RtlQueryPackageIdentity)
|
||||
enable_ntdll_RtlQueryPackageIdentity="$2"
|
||||
;;
|
||||
@@ -796,6 +789,9 @@ patch_enable ()
|
||||
winmm-mciSendCommandA)
|
||||
enable_winmm_mciSendCommandA="$2"
|
||||
;;
|
||||
winspool.drv-ClosePrinter)
|
||||
enable_winspool_drv_ClosePrinter="$2"
|
||||
;;
|
||||
wintab32-improvements)
|
||||
enable_wintab32_improvements="$2"
|
||||
;;
|
||||
@@ -1723,22 +1719,6 @@ if test "$enable_dsound_EAX" -eq 1; then
|
||||
patch_apply dsound-EAX/0023-dsound-Fake-success-for-EAX-Set-Buffer-ListenerPrope.patch
|
||||
fi
|
||||
|
||||
# Patchset dwrite-FontFallback
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#44052] - Support for font fallback.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dwrite/analyzer.c, dlls/dwrite/layout.c, dlls/dwrite/tests/layout.c
|
||||
# |
|
||||
if test "$enable_dwrite_FontFallback" -eq 1; then
|
||||
patch_apply dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch
|
||||
patch_apply dwrite-FontFallback/0002-dwrite-Test-GetMetrics-with-custom-fontcollection.patch
|
||||
patch_apply dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch
|
||||
patch_apply dwrite-FontFallback/0005-dwrite-Use-MapCharacters-for-non-visual-characters.patch
|
||||
patch_apply dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-DOS_Attributes
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -2374,19 +2354,6 @@ if test "$enable_ntdll_ProcessQuotaLimits" -eq 1; then
|
||||
patch_apply ntdll-ProcessQuotaLimits/0001-ntdll-Add-fake-data-implementation-for-ProcessQuotaL.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlFirstFreeAce
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#50624] Waves Central 12.0.5 fails to start.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/sec.c
|
||||
# |
|
||||
if test "$enable_ntdll_RtlFirstFreeAce" -eq 1; then
|
||||
patch_apply ntdll-RtlFirstFreeAce/0001-ntdll-Check-return-parameter-before-use.patch
|
||||
patch_apply ntdll-RtlFirstFreeAce/0002-ntdll-RtlFirstFreeAce-only-return-FALSE-on-error.patch
|
||||
fi
|
||||
|
||||
# Patchset ntdll-RtlQueryPackageIdentity
|
||||
# |
|
||||
# | Modified files:
|
||||
@@ -2715,7 +2682,8 @@ fi
|
||||
# | * [#33576] Support for stored file ACLs
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/tests/security.c, server/change.c, server/file.c, server/file.h, server/object.c, server/object.h
|
||||
# | * dlls/advapi32/tests/security.c, dlls/xactengine3_7/xact_dll.c, server/change.c, server/file.c, server/file.h,
|
||||
# | server/object.c, server/object.h
|
||||
# |
|
||||
if test "$enable_server_Stored_ACLs" -eq 1; then
|
||||
patch_apply server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch
|
||||
@@ -2948,7 +2916,7 @@ fi
|
||||
# Patchset stdole32.idl-Typelib
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/stdole32.tlb/std_ole_v1.idl, include/stdole32.idl
|
||||
# | * dlls/stdole32.tlb/std_ole_v1.idl, include/Makefile.in, include/stdole32.idl
|
||||
# |
|
||||
if test "$enable_stdole32_idl_Typelib" -eq 1; then
|
||||
patch_apply stdole32.idl-Typelib/0001-include-Make-stdole32.idl-a-public-component.patch
|
||||
@@ -3821,6 +3789,18 @@ if test "$enable_winmm_mciSendCommandA" -eq 1; then
|
||||
patch_apply winmm-mciSendCommandA/0001-winmm-Do-not-crash-in-Win-9X-mode-when-an-invalid-de.patch
|
||||
fi
|
||||
|
||||
# Patchset winspool.drv-ClosePrinter
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#53425] - Add more tracing to ClosePrinter
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/winspool.drv/info.c
|
||||
# |
|
||||
if test "$enable_winspool_drv_ClosePrinter" -eq 1; then
|
||||
patch_apply winspool.drv-ClosePrinter/0001-winspool.drv-Add-more-tracing-to-ClosePrinter.patch
|
||||
fi
|
||||
|
||||
# Patchset wintab32-improvements
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@@ -3901,7 +3881,6 @@ fi
|
||||
# | * dlls/xactengine3_7/xact_dll.c
|
||||
# |
|
||||
if test "$enable_xactengine3_7_Notification" -eq 1; then
|
||||
patch_apply xactengine3_7-Notification/0001-xactengine3.7-Delay-Notication-for-WAVEBANKPREPARED.patch
|
||||
patch_apply xactengine3_7-Notification/0002-xactengine3_7-Record-context-for-each-notications.patch
|
||||
fi
|
||||
|
||||
@@ -3927,12 +3906,14 @@ fi
|
||||
# | * [#49678] - xactengine: Implement callback notifications.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/xactengine3_7/xact_dll.c, libs/faudio/include/FACT.h, libs/faudio/src/FACT.c, libs/faudio/src/FACT_internal.h
|
||||
# | * dlls/xactengine3_7/xact_dll.c
|
||||
# |
|
||||
if test "$enable_xactengine3_7_callbacks" -eq 1; then
|
||||
patch_apply xactengine3_7-callbacks/0001-Add-support-for-private-contexts.patch
|
||||
patch_apply xactengine3_7-callbacks/0002-xactengine3_7-notifications.patch
|
||||
patch_apply xactengine3_7-callbacks/0004-xactengine3_7-Don-t-use-switch-with-constant-integer.patch
|
||||
patch_apply xactengine3_7-callbacks/0001-xactengine3_7-Add-helper-function-to-add-entries.patch
|
||||
patch_apply xactengine3_7-callbacks/0002-xactengine3_7-Map-SoundBank-interfaces.patch
|
||||
patch_apply xactengine3_7-callbacks/0003-xactengine3_7-Map-IXACT3Cue-interfaces.patch
|
||||
patch_apply xactengine3_7-callbacks/0004-xactengine3_7-Map-IXACT3Wave-interfaces.patch
|
||||
patch_apply xactengine3_7-callbacks/0005-xactengine3_7-Implement-callback-for-supported-messa.patch
|
||||
fi
|
||||
|
||||
if test "$enable_autoconf" -eq 1; then
|
||||
|
@@ -1,17 +1,30 @@
|
||||
From 1a3f9029f375e5934ff2e87f83bd2cd5d546dd80 Mon Sep 17 00:00:00 2001
|
||||
From 6290d283c29832f6822090ef57c8bd4e04c43eaf Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 17 Apr 2014 16:07:46 -0600
|
||||
Subject: [PATCH] server: Unify the storage of security attributes for files
|
||||
and directories. (try 7)
|
||||
|
||||
---
|
||||
server/change.c | 45 ++++++---------------------------------------
|
||||
server/file.c | 34 ++++++++++++++++++++++------------
|
||||
server/file.h | 2 ++
|
||||
3 files changed, 30 insertions(+), 51 deletions(-)
|
||||
dlls/xactengine3_7/xact_dll.c | 1 +
|
||||
server/change.c | 45 +++++------------------------------
|
||||
server/file.c | 34 ++++++++++++++++----------
|
||||
server/file.h | 2 ++
|
||||
4 files changed, 31 insertions(+), 51 deletions(-)
|
||||
|
||||
diff --git a/dlls/xactengine3_7/xact_dll.c b/dlls/xactengine3_7/xact_dll.c
|
||||
index f7be480656d..f6b4a37b005 100644
|
||||
--- a/dlls/xactengine3_7/xact_dll.c
|
||||
+++ b/dlls/xactengine3_7/xact_dll.c
|
||||
@@ -341,6 +341,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_Prepare(IXACT3SoundBank *iface,
|
||||
XACT3SoundBankImpl *This = impl_from_IXACT3SoundBank(iface);
|
||||
XACT3CueImpl *cue;
|
||||
FACTCue *fcue;
|
||||
+
|
||||
UINT ret;
|
||||
|
||||
TRACE("(%p)->(%u, 0x%lx, %lu, %p)\n", This, nCueIndex, dwFlags, timeOffset,
|
||||
diff --git a/server/change.c b/server/change.c
|
||||
index dd9e0bfee31..fc030159101 100644
|
||||
index 5e9d94720a5..fc030159101 100644
|
||||
--- a/server/change.c
|
||||
+++ b/server/change.c
|
||||
@@ -365,48 +365,15 @@ static int dir_set_sd( struct object *obj, const struct security_descriptor *sd,
|
||||
@@ -47,7 +60,7 @@ index dd9e0bfee31..fc030159101 100644
|
||||
- else if (obj->sd)
|
||||
- owner = sd_get_owner( obj->sd );
|
||||
- else
|
||||
- owner = token_get_user( current->process->token );
|
||||
- owner = token_get_owner( current->process->token );
|
||||
-
|
||||
- if (set_info & DACL_SECURITY_INFORMATION)
|
||||
- {
|
||||
@@ -70,7 +83,7 @@ index dd9e0bfee31..fc030159101 100644
|
||||
|
||||
static struct change_record *get_first_change_record( struct dir *dir )
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index 1fd0ac37df5..6032e228a9f 100644
|
||||
index 1b4efb04bc5..291dd78cb60 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -499,18 +499,13 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const struct sid *owner
|
||||
@@ -133,7 +146,7 @@ index 1fd0ac37df5..6032e228a9f 100644
|
||||
{
|
||||
struct file *file = (struct file *)obj;
|
||||
diff --git a/server/file.h b/server/file.h
|
||||
index 358788096a0..38bcea802d6 100644
|
||||
index b5b1e2a1077..5eb6065b7ac 100644
|
||||
--- a/server/file.h
|
||||
+++ b/server/file.h
|
||||
@@ -168,6 +168,8 @@ extern void file_set_error(void);
|
||||
@@ -146,5 +159,5 @@ index 358788096a0..38bcea802d6 100644
|
||||
/* file mapping functions */
|
||||
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From cd7fb7888c26a3ccbbc13404f671ed7525041e81 Mon Sep 17 00:00:00 2001
|
||||
From b4f93b03b07b3c29f7cc3548431a487885c0f8c2 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 30 Mar 2015 12:50:21 +0200
|
||||
Subject: [PATCH] server: Temporarily store the full security descriptor for
|
||||
@@ -12,10 +12,10 @@ Subject: [PATCH] server: Temporarily store the full security descriptor for
|
||||
4 files changed, 80 insertions(+), 47 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 7f0c248cd7a..f1ec827d683 100644
|
||||
index 4b9e02af826..1e82353cfd0 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -3702,7 +3702,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3774,7 +3774,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %ld\n", error);
|
||||
bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
@@ -23,7 +23,7 @@ index 7f0c248cd7a..f1ec827d683 100644
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%ld != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -3713,7 +3712,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3785,7 +3784,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %ld\n", error);
|
||||
bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
@@ -31,7 +31,7 @@ index 7f0c248cd7a..f1ec827d683 100644
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%ld != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -3836,7 +3834,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3908,7 +3906,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
@@ -39,7 +39,7 @@ index 7f0c248cd7a..f1ec827d683 100644
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -4935,23 +4932,22 @@ static void test_GetSecurityInfo(void)
|
||||
@@ -5024,23 +5021,22 @@ static void test_GetSecurityInfo(void)
|
||||
bret = GetAce(pDacl, 0, (VOID **)&ace);
|
||||
ok(bret, "Failed to get Current User ACE.\n");
|
||||
bret = EqualSid(&ace->SidStart, user_sid);
|
||||
@@ -96,7 +96,7 @@ index 5beedef4714..1ebda152ef9 100644
|
||||
|
||||
return &dir->obj;
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index d476f4b796e..e61de8283b8 100644
|
||||
index 6bc0708f9b2..743493b8d37 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -187,7 +187,8 @@ struct file *create_file_for_fd_obj( struct fd *fd, unsigned int access, unsigne
|
||||
@@ -167,7 +167,7 @@ index d476f4b796e..e61de8283b8 100644
|
||||
- else if (obj->sd)
|
||||
- owner = sd_get_owner( obj->sd );
|
||||
- else
|
||||
- owner = token_get_user( current->process->token );
|
||||
- owner = token_get_owner( current->process->token );
|
||||
+ /* calculate the new sd, save to a temporary variable before assigning */
|
||||
+ new_sd = set_sd_from_token_internal( sd, obj->sd, set_info, current->process->token );
|
||||
+ if (new_sd)
|
||||
@@ -247,7 +247,7 @@ index d476f4b796e..e61de8283b8 100644
|
||||
}
|
||||
if (root_fd) release_object( root_fd );
|
||||
diff --git a/server/file.h b/server/file.h
|
||||
index abea05d33fd..81bcdc1c913 100644
|
||||
index 4490287291e..65c28b3ac62 100644
|
||||
--- a/server/file.h
|
||||
+++ b/server/file.h
|
||||
@@ -207,7 +207,8 @@ extern struct object *create_unix_device( struct object *root, const struct unic
|
||||
@@ -261,5 +261,5 @@ index abea05d33fd..81bcdc1c913 100644
|
||||
|
||||
/* completion */
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 1d1a3c94906ddd6501626ab5870735ab6ec6243b Mon Sep 17 00:00:00 2001
|
||||
From 76236454bbff9d8b83448f5902e8ee55f0016343 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Fri, 22 Jan 2016 17:40:43 +0800
|
||||
Subject: [PATCH] include: Make stdole32.idl a public component.
|
||||
@@ -6,8 +6,9 @@ Subject: [PATCH] include: Make stdole32.idl a public component.
|
||||
This makes it possible to import stdole32.tlb from other .idl files.
|
||||
---
|
||||
dlls/stdole32.tlb/std_ole_v1.idl | 119 +------------------------
|
||||
include/Makefile.in | 1 +
|
||||
include/stdole32.idl | 143 +++++++++++++++++++++++++++++++
|
||||
2 files changed, 144 insertions(+), 118 deletions(-)
|
||||
3 files changed, 145 insertions(+), 118 deletions(-)
|
||||
create mode 100644 include/stdole32.idl
|
||||
|
||||
diff --git a/dlls/stdole32.tlb/std_ole_v1.idl b/dlls/stdole32.tlb/std_ole_v1.idl
|
||||
@@ -137,6 +138,18 @@ index 359a81062ae..de053e98227 100644
|
||||
- }
|
||||
-};
|
||||
+#include "stdole32.idl"
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index 384847f0d31..6e168669733 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -707,6 +707,7 @@ SOURCES = \
|
||||
srrestoreptapi.h \
|
||||
sspi.h \
|
||||
stamp-h.in \
|
||||
+ stdole32.idl \
|
||||
stgprop.h \
|
||||
sti.h \
|
||||
storage.h \
|
||||
diff --git a/include/stdole32.idl b/include/stdole32.idl
|
||||
new file mode 100644
|
||||
index 00000000000..107cee84591
|
||||
@@ -287,5 +300,5 @@ index 00000000000..107cee84591
|
||||
+ }
|
||||
+};
|
||||
--
|
||||
2.33.0
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From f5f76efccaf16896cfaf455c3f8e5383675a5b79 Mon Sep 17 00:00:00 2001
|
||||
From fccb5f82e6bf351fdf815f7a77f0c6be4ef1f8a4 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 15 Jun 2016 14:57:10 +0800
|
||||
Subject: [PATCH] user32: Do not initialize dialog info for every window passed
|
||||
@@ -18,11 +18,11 @@ has been forced, so passing TRUE to DIALOG_get_info() is redundant there.
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/defdlg.c b/dlls/user32/defdlg.c
|
||||
index 3c7a8a78855..b7d30a7f1cf 100644
|
||||
index 238951aa21c..ad2b0fe9fa9 100644
|
||||
--- a/dlls/user32/defdlg.c
|
||||
+++ b/dlls/user32/defdlg.c
|
||||
@@ -361,7 +361,7 @@ static LRESULT USER_DefDlgProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPar
|
||||
LRESULT result = 0;
|
||||
@@ -325,7 +325,7 @@ static LRESULT USER_DefDlgProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPar
|
||||
LRESULT result;
|
||||
|
||||
/* Perform DIALOGINFO initialization if not done */
|
||||
- if(!(dlgInfo = DIALOG_get_info( hwnd, TRUE ))) return 0;
|
||||
@@ -30,17 +30,17 @@ index 3c7a8a78855..b7d30a7f1cf 100644
|
||||
|
||||
SetWindowLongPtrW( hwnd, DWLP_MSGRESULT, 0 );
|
||||
|
||||
@@ -415,7 +415,7 @@ static LRESULT USER_DefDlgProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPar
|
||||
LRESULT result = 0;
|
||||
@@ -377,7 +377,7 @@ static LRESULT USER_DefDlgProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPar
|
||||
LRESULT result;
|
||||
|
||||
/* Perform DIALOGINFO initialization if not done */
|
||||
- if(!(dlgInfo = DIALOG_get_info( hwnd, TRUE ))) return 0;
|
||||
+ if (!(dlgInfo = DIALOG_get_info( hwnd, msg == WM_NCCREATE ))) return 0;
|
||||
|
||||
SetWindowLongPtrW( hwnd, DWLP_MSGRESULT, 0 );
|
||||
|
||||
result = WINPROC_CallDlgProcW( hwnd, msg, wParam, lParam );
|
||||
diff --git a/dlls/user32/dialog.c b/dlls/user32/dialog.c
|
||||
index a3efd5b6742..a226c764c49 100644
|
||||
index 5c74de65ac0..5c74d00973d 100644
|
||||
--- a/dlls/user32/dialog.c
|
||||
+++ b/dlls/user32/dialog.c
|
||||
@@ -212,7 +212,7 @@ static const WORD *DIALOG_GetControl32( const WORD *p, DLG_CONTROL_INFO *info,
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From c336f99371aaf087b85257de1087b475452f2f84 Mon Sep 17 00:00:00 2001
|
||||
From bdef98a34241f02651374715cc03f90faef96bc0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
|
||||
Date: Mon, 22 Jul 2019 15:29:25 +0300
|
||||
Subject: [PATCH] user32/focus: Prevent a recursive loop with the activation
|
||||
@@ -21,7 +21,7 @@ Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
|
||||
3 files changed, 30 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
|
||||
index c0a74d8edbe..585ff299142 100644
|
||||
index 63388e2250e..6ddac9cc7d3 100644
|
||||
--- a/dlls/user32/tests/msg.c
|
||||
+++ b/dlls/user32/tests/msg.c
|
||||
@@ -5571,7 +5571,7 @@ static void test_messages(void)
|
||||
@@ -34,10 +34,10 @@ index c0a74d8edbe..585ff299142 100644
|
||||
|
||||
if (GetWindowLongW( hwnd, GWL_STYLE ) & WS_MINIMIZE)
|
||||
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c
|
||||
index 28fc5a918c8..b8fd5622468 100644
|
||||
index a478a549fb2..ac0b51dfd73 100644
|
||||
--- a/dlls/win32u/input.c
|
||||
+++ b/dlls/win32u/input.c
|
||||
@@ -1547,7 +1547,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1569,7 +1569,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
{
|
||||
HWND previous = get_active_window();
|
||||
BOOL ret;
|
||||
@@ -46,7 +46,7 @@ index 28fc5a918c8..b8fd5622468 100644
|
||||
CBTACTIVATESTRUCT cbt;
|
||||
|
||||
if (previous == hwnd)
|
||||
@@ -1556,16 +1556,24 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1578,16 +1578,24 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ index 28fc5a918c8..b8fd5622468 100644
|
||||
}
|
||||
|
||||
SERVER_START_REQ( set_active_window )
|
||||
@@ -1585,7 +1593,11 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1607,7 +1615,11 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
if (send_message( hwnd, WM_QUERYNEWPALETTE, 0, 0 ))
|
||||
send_message_timeout( HWND_BROADCAST, WM_PALETTEISCHANGING, (WPARAM)hwnd, 0,
|
||||
SMTO_ABORTIFHUNG, 2000, NULL, FALSE );
|
||||
@@ -93,7 +93,7 @@ index 28fc5a918c8..b8fd5622468 100644
|
||||
}
|
||||
|
||||
old_thread = previous ? get_window_thread( previous, NULL ) : 0;
|
||||
@@ -1617,7 +1629,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1639,7 +1651,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ index 28fc5a918c8..b8fd5622468 100644
|
||||
{
|
||||
send_message( hwnd, WM_NCACTIVATE, hwnd == NtUserGetForegroundWindow(), (LPARAM)previous );
|
||||
send_message( hwnd, WM_ACTIVATE,
|
||||
@@ -1637,12 +1649,15 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
@@ -1666,12 +1678,15 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
|
||||
/* Do not change focus if the window is no more active */
|
||||
if (hwnd == info.hwndActive)
|
||||
{
|
||||
@@ -120,17 +120,17 @@ index 28fc5a918c8..b8fd5622468 100644
|
||||
|
||||
/**********************************************************************
|
||||
diff --git a/dlls/win32u/ntuser_private.h b/dlls/win32u/ntuser_private.h
|
||||
index fe9d7e18bc9..e852a0d5aa0 100644
|
||||
index 3ecd7424f77..cc27526235d 100644
|
||||
--- a/dlls/win32u/ntuser_private.h
|
||||
+++ b/dlls/win32u/ntuser_private.h
|
||||
@@ -121,6 +121,7 @@ typedef struct tagWND
|
||||
@@ -105,6 +105,7 @@ typedef struct tagWND
|
||||
#define WIN_NEEDS_SHOW_OWNEDPOPUP 0x0020 /* WM_SHOWWINDOW:SC_SHOW must be sent in the next ShowOwnedPopup call */
|
||||
#define WIN_CHILDREN_MOVED 0x0040 /* children may have moved, ignore stored positions */
|
||||
#define WIN_HAS_IME_WIN 0x0080 /* the window has been registered with imm32 */
|
||||
+#define WIN_IS_IN_ACTIVATION 0x0100 /* the window is in an activation process */
|
||||
|
||||
#define WND_OTHER_PROCESS ((WND *)1) /* returned by WIN_GetPtr on unknown window handles */
|
||||
#define WND_DESKTOP ((WND *)2) /* returned by WIN_GetPtr on the desktop window */
|
||||
#define WND_OTHER_PROCESS ((WND *)1) /* returned by get_win_ptr on unknown window handles */
|
||||
#define WND_DESKTOP ((WND *)2) /* returned by get_win_ptr on the desktop window */
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 1a973b411e23c7a28ea7d997926be31be7569069 Mon Sep 17 00:00:00 2001
|
||||
From 1ed5c56620d147135732dff791c47d6ecf28471d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 21 Jan 2017 17:23:48 +0100
|
||||
Subject: [PATCH] winedbg: Print process arguments in info threads.
|
||||
@@ -8,11 +8,11 @@ Subject: [PATCH] winedbg: Print process arguments in info threads.
|
||||
1 file changed, 105 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/programs/winedbg/info.c b/programs/winedbg/info.c
|
||||
index bb933aeb455..57ac36165a2 100644
|
||||
index 5d6b45d715f..eff3c0948aa 100644
|
||||
--- a/programs/winedbg/info.c
|
||||
+++ b/programs/winedbg/info.c
|
||||
@@ -581,6 +581,103 @@ static BOOL get_process_name(DWORD pid, PROCESSENTRY32W* entry)
|
||||
return ret;
|
||||
@@ -628,6 +628,103 @@ WCHAR* fetch_thread_description(DWORD tid)
|
||||
return desc;
|
||||
}
|
||||
|
||||
+static BOOL read_process_memory(HANDLE process, const void *ptr, void *buffer, SIZE_T length)
|
||||
@@ -115,7 +115,7 @@ index bb933aeb455..57ac36165a2 100644
|
||||
void info_win32_threads(void)
|
||||
{
|
||||
HANDLE snap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
|
||||
@@ -609,6 +706,7 @@ void info_win32_threads(void)
|
||||
@@ -657,6 +754,7 @@ void info_win32_threads(void)
|
||||
{
|
||||
PROCESSENTRY32W pcs_entry;
|
||||
const WCHAR* exename;
|
||||
@@ -123,7 +123,7 @@ index bb933aeb455..57ac36165a2 100644
|
||||
|
||||
p = dbg_get_process(entry.th32OwnerProcessID);
|
||||
if (p)
|
||||
@@ -618,8 +716,13 @@ void info_win32_threads(void)
|
||||
@@ -666,8 +764,13 @@ void info_win32_threads(void)
|
||||
else
|
||||
exename = L"";
|
||||
|
||||
@@ -138,7 +138,7 @@ index bb933aeb455..57ac36165a2 100644
|
||||
+ }
|
||||
lastProcessId = entry.th32OwnerProcessID;
|
||||
}
|
||||
t = dbg_get_thread(p, entry.th32ThreadID);
|
||||
dbg_printf("\t%08lx %4ld%s ",
|
||||
--
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 99c5822c8856c033ae30776ad2f6522f089f96ab Mon Sep 17 00:00:00 2001
|
||||
From b6ee6f06b0184d129ba9ee9fdac09852d0730ecd Mon Sep 17 00:00:00 2001
|
||||
From: Ken Thomases <ken@codeweavers.com>
|
||||
Date: Tue, 22 Jun 2021 07:56:43 +1000
|
||||
Subject: [PATCH] winemac.drv: No Flicker patch
|
||||
@@ -10,7 +10,7 @@ Subject: [PATCH] winemac.drv: No Flicker patch
|
||||
3 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/winemac.drv/macdrv.h b/dlls/winemac.drv/macdrv.h
|
||||
index 7c0f7127883..ec82202cd4e 100644
|
||||
index 7cb1665a8fc..879b7102c9e 100644
|
||||
--- a/dlls/winemac.drv/macdrv.h
|
||||
+++ b/dlls/winemac.drv/macdrv.h
|
||||
@@ -41,6 +41,7 @@
|
||||
@@ -19,10 +19,10 @@ index 7c0f7127883..ec82202cd4e 100644
|
||||
extern BOOL disable_window_decorations DECLSPEC_HIDDEN;
|
||||
+extern BOOL force_backing_store DECLSPEC_HIDDEN;
|
||||
|
||||
extern NTSTATUS (WINAPI *pNtWaitForMultipleObjects)(ULONG,const HANDLE*,BOOLEAN,
|
||||
BOOLEAN,const LARGE_INTEGER*) DECLSPEC_HIDDEN;
|
||||
extern const char* debugstr_cf(CFTypeRef t) DECLSPEC_HIDDEN;
|
||||
|
||||
diff --git a/dlls/winemac.drv/macdrv_main.c b/dlls/winemac.drv/macdrv_main.c
|
||||
index e1fd7b2d331..f9d97ee70ed 100644
|
||||
index 4b79c69a6f8..514c00af499 100644
|
||||
--- a/dlls/winemac.drv/macdrv_main.c
|
||||
+++ b/dlls/winemac.drv/macdrv_main.c
|
||||
@@ -66,6 +66,7 @@ int use_precise_scrolling = TRUE;
|
||||
@@ -33,7 +33,7 @@ index e1fd7b2d331..f9d97ee70ed 100644
|
||||
|
||||
CFDictionaryRef localized_strings;
|
||||
|
||||
@@ -386,6 +387,9 @@ static void setup_options(void)
|
||||
@@ -384,6 +385,9 @@ static void setup_options(void)
|
||||
if (!get_config_key(hkey, appkey, "EnableAppNap", buffer, sizeof(buffer)))
|
||||
enable_app_nap = IS_OPTION_TRUE(buffer[0]);
|
||||
|
||||
|
@@ -0,0 +1,35 @@
|
||||
From 98ceaf4ecb3682152baebf2aa38d2de839ac7cea Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sat, 30 Jul 2022 18:08:00 +1000
|
||||
Subject: [PATCH] winspool.drv: Add more tracing to ClosePrinter
|
||||
|
||||
---
|
||||
dlls/winspool.drv/info.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
|
||||
index e1cd0338207..0faced259e5 100644
|
||||
--- a/dlls/winspool.drv/info.c
|
||||
+++ b/dlls/winspool.drv/info.c
|
||||
@@ -2857,15 +2857,18 @@ BOOL WINAPI ClosePrinter(HANDLE hPrinter)
|
||||
LIST_FOR_EACH_SAFE(cursor, cursor2, &printer->queue->jobs)
|
||||
{
|
||||
job_t *job = LIST_ENTRY(cursor, job_t, entry);
|
||||
+ TRACE("Scheduling Job: %p\n", job);
|
||||
ScheduleJob(hPrinter, job->job_id);
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, printer->queue);
|
||||
}
|
||||
|
||||
if (printer->backend_printer) {
|
||||
+ TRACE("Closing Bankend printer\n");
|
||||
backend->fpClosePrinter(printer->backend_printer);
|
||||
}
|
||||
|
||||
+ TRACE("Freeing Printer entry\n");
|
||||
free_printer_entry( printer );
|
||||
printer_handles[i - 1] = NULL;
|
||||
LeaveCriticalSection(&printer_handles_cs);
|
||||
--
|
||||
2.35.1
|
||||
|
3
patches/winspool.drv-ClosePrinter/definition
Normal file
3
patches/winspool.drv-ClosePrinter/definition
Normal file
@@ -0,0 +1,3 @@
|
||||
Fixes: [53425] - Add more tracing to ClosePrinter
|
||||
|
||||
# This is help with working where the crash is occuring.
|
@@ -1,4 +1,4 @@
|
||||
From 9434e8c7083b21347ce7246c775279323c51c756 Mon Sep 17 00:00:00 2001
|
||||
From a75e31b9098b8d111ec06a8a3f08470ae8992606 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 1 Oct 2020 18:34:23 +1000
|
||||
Subject: [PATCH] xactengine3_7/tests: Add Global settings test
|
||||
@@ -7,8 +7,8 @@ Subject: [PATCH] xactengine3_7/tests: Add Global settings test
|
||||
dlls/xactengine3_7/tests/Makefile.in | 5 ++-
|
||||
dlls/xactengine3_7/tests/globals.xgs | Bin 0 -> 440 bytes
|
||||
dlls/xactengine3_7/tests/rsrc.rc | 22 ++++++++++
|
||||
dlls/xactengine3_7/tests/xact3.c | 60 +++++++++++++++++++++++++++
|
||||
4 files changed, 86 insertions(+), 1 deletion(-)
|
||||
dlls/xactengine3_7/tests/xact3.c | 61 +++++++++++++++++++++++++++
|
||||
4 files changed, 87 insertions(+), 1 deletion(-)
|
||||
create mode 100644 dlls/xactengine3_7/tests/globals.xgs
|
||||
create mode 100644 dlls/xactengine3_7/tests/rsrc.rc
|
||||
|
||||
@@ -70,11 +70,11 @@ index 00000000000..2c1961c727a
|
||||
+/* @makedep: globals.xgs*/
|
||||
+globals.xgs RCDATA "globals.xgs"
|
||||
diff --git a/dlls/xactengine3_7/tests/xact3.c b/dlls/xactengine3_7/tests/xact3.c
|
||||
index 623a1c97db8..aadeba735f5 100644
|
||||
index 5daa18ca81b..7644ec1dfb8 100644
|
||||
--- a/dlls/xactengine3_7/tests/xact3.c
|
||||
+++ b/dlls/xactengine3_7/tests/xact3.c
|
||||
@@ -90,11 +90,71 @@ static void test_interfaces(void)
|
||||
}
|
||||
@@ -261,11 +261,72 @@ static void test_notifications(void)
|
||||
DeleteFileW(filename);
|
||||
}
|
||||
|
||||
+static void test_global_properties(void)
|
||||
@@ -134,6 +134,7 @@ index 623a1c97db8..aadeba735f5 100644
|
||||
+
|
||||
+end:
|
||||
+ IXACT3Engine_Release(engine);
|
||||
+
|
||||
+}
|
||||
+
|
||||
START_TEST(xact3)
|
||||
@@ -142,9 +143,9 @@ index 623a1c97db8..aadeba735f5 100644
|
||||
|
||||
test_interfaces();
|
||||
+ test_global_properties();
|
||||
test_notifications();
|
||||
|
||||
CoUninitialize();
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
2.35.1
|
||||
|
||||
|
@@ -1,77 +0,0 @@
|
||||
From 36d84a848bcffc5e3a2d0ab4c96fe0eaac68bbbc Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 22 Jan 2021 18:22:41 +1100
|
||||
Subject: [PATCH 1/2] xactengine3.7: Delay Notication for WAVEBANKPREPARED
|
||||
|
||||
---
|
||||
dlls/xactengine3_7/xact_dll.c | 40 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 40 insertions(+)
|
||||
|
||||
diff --git a/dlls/xactengine3_7/xact_dll.c b/dlls/xactengine3_7/xact_dll.c
|
||||
index 281aecc154b..e3b6e32cd5a 100644
|
||||
--- a/dlls/xactengine3_7/xact_dll.c
|
||||
+++ b/dlls/xactengine3_7/xact_dll.c
|
||||
@@ -883,6 +883,42 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateSoundBank(IXACT3Engine *iface,
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
+struct thread_data
|
||||
+{
|
||||
+ XACT3EngineImpl *engine;
|
||||
+ XACT_NOTIFICATION note;
|
||||
+};
|
||||
+
|
||||
+static DWORD WINAPI thread_notications(LPVOID data)
|
||||
+{
|
||||
+ struct thread_data *tdata = data;
|
||||
+
|
||||
+ Sleep(1000);
|
||||
+
|
||||
+ FIXME("Callback XACTNOTIFICATIONTYPE_WAVEBANKPREPARED (%p)\n", tdata->engine);
|
||||
+
|
||||
+ tdata->engine->notification_callback(&tdata->note);
|
||||
+
|
||||
+ CoTaskMemFree(data);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void send_wavebank_notification(XACT3EngineImpl *This, IXACT3WaveBank *wavebank)
|
||||
+{
|
||||
+ if (This->notification_callback)
|
||||
+ {
|
||||
+ HANDLE thread;
|
||||
+ struct thread_data *tdata = CoTaskMemAlloc(sizeof(struct thread_data));
|
||||
+
|
||||
+ tdata->engine = This;
|
||||
+ tdata->note.type = XACTNOTIFICATIONTYPE_WAVEBANKPREPARED;
|
||||
+ tdata->note.wave.pWaveBank = wavebank;
|
||||
+
|
||||
+ thread = CreateThread(NULL, 0, thread_notications, tdata, 0, NULL);
|
||||
+ CloseHandle(thread);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static HRESULT WINAPI IXACT3EngineImpl_CreateInMemoryWaveBank(IXACT3Engine *iface,
|
||||
const void* pvBuffer, DWORD dwSize, DWORD dwFlags,
|
||||
DWORD dwAllocAttributes, IXACT3WaveBank **ppWaveBank)
|
||||
@@ -915,6 +951,8 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateInMemoryWaveBank(IXACT3Engine *ifac
|
||||
wb->fact_wavebank = fwb;
|
||||
*ppWaveBank = &wb->IXACT3WaveBank_iface;
|
||||
|
||||
+ send_wavebank_notification(This, &wb->IXACT3WaveBank_iface);
|
||||
+
|
||||
TRACE("Created in-memory WaveBank: %p\n", wb);
|
||||
|
||||
return S_OK;
|
||||
@@ -963,6 +1001,8 @@ static HRESULT WINAPI IXACT3EngineImpl_CreateStreamingWaveBank(IXACT3Engine *ifa
|
||||
wb->fact_wavebank = fwb;
|
||||
*ppWaveBank = &wb->IXACT3WaveBank_iface;
|
||||
|
||||
+ send_wavebank_notification(This, &wb->IXACT3WaveBank_iface);
|
||||
+
|
||||
TRACE("Created streaming WaveBank: %p\n", wb);
|
||||
|
||||
return S_OK;
|
||||
--
|
||||
2.29.2
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user