diff --git a/patches/Compiler_Warnings/0039-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0039-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch index 4df3eb59..a152a589 100644 --- a/patches/Compiler_Warnings/0039-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch +++ b/patches/Compiler_Warnings/0039-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch @@ -1,4 +1,4 @@ -From f34ee38467781b2f7bae7e7f8a04a4210bf7d046 Mon Sep 17 00:00:00 2001 +From 6d3e24776dac1c5bf4625617c61367f506c42f92 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 8 Jun 2021 11:22:48 +1000 Subject: [PATCH] rpcrt4: Avoid implicit cast of interface pointer. @@ -9,7 +9,7 @@ Subject: [PATCH] rpcrt4: Avoid implicit cast of interface pointer. 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c -index 764b304a047..58ea128e8a4 100644 +index d0d2e19342c..991ec052283 100644 --- a/dlls/rpcrt4/ndr_marshall.c +++ b/dlls/rpcrt4/ndr_marshall.c @@ -6999,7 +6999,7 @@ static unsigned char *WINAPI NdrContextHandleMarshall( @@ -22,7 +22,7 @@ index 764b304a047..58ea128e8a4 100644 NdrServerContextNewMarshall(pStubMsg, ctxt, rundown, pFormat); } diff --git a/dlls/rpcrt4/ndr_typelib.c b/dlls/rpcrt4/ndr_typelib.c -index f1f25885b75..126e8ec8766 100644 +index ff1d1025838..a8425a1e519 100644 --- a/dlls/rpcrt4/ndr_typelib.c +++ b/dlls/rpcrt4/ndr_typelib.c @@ -1452,7 +1452,7 @@ struct typelib_stub @@ -33,7 +33,7 @@ index f1f25885b75..126e8ec8766 100644 + struct typelib_stub *stub = CONTAINING_RECORD((CStdStubBuffer *)iface, struct typelib_stub, stub.stub_buffer); ULONG refcount = InterlockedDecrement(&stub->stub.stub_buffer.RefCount); - TRACE("(%p) decreasing refs to %d\n", stub, refcount); + TRACE("(%p) decreasing refs to %ld\n", stub, refcount); -- -2.30.2 +2.34.1 diff --git a/patches/eventfd_synchronization/0019-rpcrt4-Avoid-closing-the-server-thread-handle-while-.patch b/patches/eventfd_synchronization/0019-rpcrt4-Avoid-closing-the-server-thread-handle-while-.patch index f503b1d6..98ce6650 100644 --- a/patches/eventfd_synchronization/0019-rpcrt4-Avoid-closing-the-server-thread-handle-while-.patch +++ b/patches/eventfd_synchronization/0019-rpcrt4-Avoid-closing-the-server-thread-handle-while-.patch @@ -1,4 +1,4 @@ -From 2cb70cc63fe4352ba6b6d813b1b386a210754d02 Mon Sep 17 00:00:00 2001 +From b3b91529f2e57720b52553dd0477c6077ab1a04b Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Fri, 8 Jun 2018 23:30:17 -0500 Subject: [PATCH] rpcrt4: Avoid closing the server thread handle while it is @@ -10,7 +10,7 @@ This, or something like this, should go upstream. This is invalid behaviour. 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/rpcrt4/rpc_server.c b/dlls/rpcrt4/rpc_server.c -index 12260b7298b..a7cad5e273f 100644 +index cb62c59e368..2fd1e1bc4b4 100644 --- a/dlls/rpcrt4/rpc_server.c +++ b/dlls/rpcrt4/rpc_server.c @@ -699,10 +699,6 @@ static DWORD CALLBACK RPCRT4_server_thread(LPVOID the_arg) @@ -36,7 +36,7 @@ index 12260b7298b..a7cad5e273f 100644 LeaveCriticalSection(&server_cs); if (!wait_thread) @@ -1579,6 +1578,7 @@ RPC_STATUS WINAPI RpcMgmtWaitServerListen( void ) - TRACE("waiting for thread %u\n", GetThreadId(wait_thread)); + TRACE("waiting for thread %lu\n", GetThreadId(wait_thread)); LeaveCriticalSection(&listen_cs); WaitForSingleObject(wait_thread, INFINITE); + CloseHandle(wait_thread); @@ -44,5 +44,5 @@ index 12260b7298b..a7cad5e273f 100644 } if (listen_done_event == event) -- -2.28.0 +2.34.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index cb98bab2..f6518b24 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "61db4aa66df85574b7c2e21325b5527ed795dae8" + echo "5a66eab725423951860676aef49feeb3668eb20c" } # Show version information diff --git a/patches/riched20-IText_Interface/0003-riched20-Stub-for-ITextPara-interface-and-implement-.patch b/patches/riched20-IText_Interface/0003-riched20-Stub-for-ITextPara-interface-and-implement-.patch index 3471ce31..0c28f190 100644 --- a/patches/riched20-IText_Interface/0003-riched20-Stub-for-ITextPara-interface-and-implement-.patch +++ b/patches/riched20-IText_Interface/0003-riched20-Stub-for-ITextPara-interface-and-implement-.patch @@ -1,4 +1,4 @@ -From 565f80adaf7cc5c83f4661bbcf7d89bef679a29f Mon Sep 17 00:00:00 2001 +From 30aea20dba9df4a8ddea1f85ad18c31b069dd5d0 Mon Sep 17 00:00:00 2001 From: Jactry Zeng Date: Sun, 10 Aug 2014 22:17:57 +0800 Subject: [PATCH] riched20: Stub for ITextPara interface and implement @@ -10,10 +10,10 @@ Subject: [PATCH] riched20: Stub for ITextPara interface and implement 2 files changed, 472 insertions(+) diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c -index 72840a4cafa..1588009432f 100644 +index 74a25a96830..485a1f630d2 100644 --- a/dlls/riched20/richole.c +++ b/dlls/riched20/richole.c -@@ -3551,6 +3551,16 @@ static ULONG WINAPI TextPara_Release(ITextPara *iface) +@@ -3552,6 +3552,16 @@ static ULONG WINAPI TextPara_Release(ITextPara *iface) return ref; } @@ -30,7 +30,7 @@ index 72840a4cafa..1588009432f 100644 static HRESULT WINAPI TextPara_GetTypeInfoCount(ITextPara *iface, UINT *pctinfo) { ITextParaImpl *This = impl_from_ITextPara(iface); -@@ -3618,6 +3628,10 @@ static HRESULT WINAPI TextPara_GetDuplicate(ITextPara *iface, ITextPara **ret) +@@ -3619,6 +3629,10 @@ static HRESULT WINAPI TextPara_GetDuplicate(ITextPara *iface, ITextPara **ret) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, ret); @@ -41,7 +41,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3625,6 +3639,10 @@ static HRESULT WINAPI TextPara_SetDuplicate(ITextPara *iface, ITextPara *para) +@@ -3626,6 +3640,10 @@ static HRESULT WINAPI TextPara_SetDuplicate(ITextPara *iface, ITextPara *para) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, para); @@ -52,7 +52,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3632,6 +3650,10 @@ static HRESULT WINAPI TextPara_CanChange(ITextPara *iface, LONG *ret) +@@ -3633,6 +3651,10 @@ static HRESULT WINAPI TextPara_CanChange(ITextPara *iface, LONG *ret) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, ret); @@ -63,7 +63,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3639,6 +3661,10 @@ static HRESULT WINAPI TextPara_IsEqual(ITextPara *iface, ITextPara *para, LONG * +@@ -3640,6 +3662,10 @@ static HRESULT WINAPI TextPara_IsEqual(ITextPara *iface, ITextPara *para, LONG * { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p %p)\n", This, para, ret); @@ -74,10 +74,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3646,6 +3672,10 @@ static HRESULT WINAPI TextPara_Reset(ITextPara *iface, LONG value) +@@ -3647,6 +3673,10 @@ static HRESULT WINAPI TextPara_Reset(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -85,7 +85,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3653,6 +3683,10 @@ static HRESULT WINAPI TextPara_GetStyle(ITextPara *iface, LONG *value) +@@ -3654,6 +3684,10 @@ static HRESULT WINAPI TextPara_GetStyle(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -96,10 +96,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3660,6 +3694,10 @@ static HRESULT WINAPI TextPara_SetStyle(ITextPara *iface, LONG value) +@@ -3661,6 +3695,10 @@ static HRESULT WINAPI TextPara_SetStyle(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -107,7 +107,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3667,6 +3705,10 @@ static HRESULT WINAPI TextPara_GetAlignment(ITextPara *iface, LONG *value) +@@ -3668,6 +3706,10 @@ static HRESULT WINAPI TextPara_GetAlignment(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -118,10 +118,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3674,6 +3716,10 @@ static HRESULT WINAPI TextPara_SetAlignment(ITextPara *iface, LONG value) +@@ -3675,6 +3717,10 @@ static HRESULT WINAPI TextPara_SetAlignment(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -129,7 +129,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3681,6 +3727,10 @@ static HRESULT WINAPI TextPara_GetHyphenation(ITextPara *iface, LONG *value) +@@ -3682,6 +3728,10 @@ static HRESULT WINAPI TextPara_GetHyphenation(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -140,10 +140,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3688,6 +3738,10 @@ static HRESULT WINAPI TextPara_SetHyphenation(ITextPara *iface, LONG value) +@@ -3689,6 +3739,10 @@ static HRESULT WINAPI TextPara_SetHyphenation(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -151,7 +151,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3695,6 +3749,10 @@ static HRESULT WINAPI TextPara_GetFirstLineIndent(ITextPara *iface, FLOAT *value +@@ -3696,6 +3750,10 @@ static HRESULT WINAPI TextPara_GetFirstLineIndent(ITextPara *iface, FLOAT *value { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -162,7 +162,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3702,6 +3760,10 @@ static HRESULT WINAPI TextPara_GetKeepTogether(ITextPara *iface, LONG *value) +@@ -3703,6 +3761,10 @@ static HRESULT WINAPI TextPara_GetKeepTogether(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -173,10 +173,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3709,6 +3771,10 @@ static HRESULT WINAPI TextPara_SetKeepTogether(ITextPara *iface, LONG value) +@@ -3710,6 +3772,10 @@ static HRESULT WINAPI TextPara_SetKeepTogether(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -184,7 +184,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3716,6 +3782,10 @@ static HRESULT WINAPI TextPara_GetKeepWithNext(ITextPara *iface, LONG *value) +@@ -3717,6 +3783,10 @@ static HRESULT WINAPI TextPara_GetKeepWithNext(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -195,10 +195,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3723,6 +3793,10 @@ static HRESULT WINAPI TextPara_SetKeepWithNext(ITextPara *iface, LONG value) +@@ -3724,6 +3794,10 @@ static HRESULT WINAPI TextPara_SetKeepWithNext(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -206,7 +206,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3730,6 +3804,10 @@ static HRESULT WINAPI TextPara_GetLeftIndent(ITextPara *iface, FLOAT *value) +@@ -3731,6 +3805,10 @@ static HRESULT WINAPI TextPara_GetLeftIndent(ITextPara *iface, FLOAT *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -217,7 +217,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3737,6 +3815,10 @@ static HRESULT WINAPI TextPara_GetLineSpacing(ITextPara *iface, FLOAT *value) +@@ -3738,6 +3816,10 @@ static HRESULT WINAPI TextPara_GetLineSpacing(ITextPara *iface, FLOAT *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -228,7 +228,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3744,6 +3826,10 @@ static HRESULT WINAPI TextPara_GetLineSpacingRule(ITextPara *iface, LONG *value) +@@ -3745,6 +3827,10 @@ static HRESULT WINAPI TextPara_GetLineSpacingRule(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -239,7 +239,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3751,6 +3837,10 @@ static HRESULT WINAPI TextPara_GetListAlignment(ITextPara *iface, LONG *value) +@@ -3752,6 +3838,10 @@ static HRESULT WINAPI TextPara_GetListAlignment(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -250,10 +250,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3758,6 +3848,10 @@ static HRESULT WINAPI TextPara_SetListAlignment(ITextPara *iface, LONG value) +@@ -3759,6 +3849,10 @@ static HRESULT WINAPI TextPara_SetListAlignment(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -261,7 +261,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3765,6 +3859,10 @@ static HRESULT WINAPI TextPara_GetListLevelIndex(ITextPara *iface, LONG *value) +@@ -3766,6 +3860,10 @@ static HRESULT WINAPI TextPara_GetListLevelIndex(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -272,10 +272,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3772,6 +3870,10 @@ static HRESULT WINAPI TextPara_SetListLevelIndex(ITextPara *iface, LONG value) +@@ -3773,6 +3871,10 @@ static HRESULT WINAPI TextPara_SetListLevelIndex(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -283,7 +283,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3779,6 +3881,10 @@ static HRESULT WINAPI TextPara_GetListStart(ITextPara *iface, LONG *value) +@@ -3780,6 +3882,10 @@ static HRESULT WINAPI TextPara_GetListStart(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -294,10 +294,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3786,6 +3892,10 @@ static HRESULT WINAPI TextPara_SetListStart(ITextPara *iface, LONG value) +@@ -3787,6 +3893,10 @@ static HRESULT WINAPI TextPara_SetListStart(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -305,7 +305,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3793,6 +3903,10 @@ static HRESULT WINAPI TextPara_GetListTab(ITextPara *iface, FLOAT *value) +@@ -3794,6 +3904,10 @@ static HRESULT WINAPI TextPara_GetListTab(ITextPara *iface, FLOAT *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -316,7 +316,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3800,6 +3914,10 @@ static HRESULT WINAPI TextPara_SetListTab(ITextPara *iface, FLOAT value) +@@ -3801,6 +3915,10 @@ static HRESULT WINAPI TextPara_SetListTab(ITextPara *iface, FLOAT value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%.2f)\n", This, value); @@ -327,7 +327,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3807,6 +3925,10 @@ static HRESULT WINAPI TextPara_GetListType(ITextPara *iface, LONG *value) +@@ -3808,6 +3926,10 @@ static HRESULT WINAPI TextPara_GetListType(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -338,10 +338,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3814,6 +3936,10 @@ static HRESULT WINAPI TextPara_SetListType(ITextPara *iface, LONG value) +@@ -3815,6 +3937,10 @@ static HRESULT WINAPI TextPara_SetListType(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -349,7 +349,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3821,6 +3947,10 @@ static HRESULT WINAPI TextPara_GetNoLineNumber(ITextPara *iface, LONG *value) +@@ -3822,6 +3948,10 @@ static HRESULT WINAPI TextPara_GetNoLineNumber(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -360,10 +360,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3828,6 +3958,10 @@ static HRESULT WINAPI TextPara_SetNoLineNumber(ITextPara *iface, LONG value) +@@ -3829,6 +3959,10 @@ static HRESULT WINAPI TextPara_SetNoLineNumber(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -371,7 +371,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3835,6 +3969,10 @@ static HRESULT WINAPI TextPara_GetPageBreakBefore(ITextPara *iface, LONG *value) +@@ -3836,6 +3970,10 @@ static HRESULT WINAPI TextPara_GetPageBreakBefore(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -382,10 +382,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3842,6 +3980,10 @@ static HRESULT WINAPI TextPara_SetPageBreakBefore(ITextPara *iface, LONG value) +@@ -3843,6 +3981,10 @@ static HRESULT WINAPI TextPara_SetPageBreakBefore(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -393,7 +393,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3849,6 +3991,10 @@ static HRESULT WINAPI TextPara_GetRightIndent(ITextPara *iface, FLOAT *value) +@@ -3850,6 +3992,10 @@ static HRESULT WINAPI TextPara_GetRightIndent(ITextPara *iface, FLOAT *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -404,7 +404,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3856,6 +4002,10 @@ static HRESULT WINAPI TextPara_SetRightIndent(ITextPara *iface, FLOAT value) +@@ -3857,6 +4003,10 @@ static HRESULT WINAPI TextPara_SetRightIndent(ITextPara *iface, FLOAT value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%.2f)\n", This, value); @@ -415,7 +415,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3863,6 +4013,10 @@ static HRESULT WINAPI TextPara_SetIndents(ITextPara *iface, FLOAT StartIndent, F +@@ -3864,6 +4014,10 @@ static HRESULT WINAPI TextPara_SetIndents(ITextPara *iface, FLOAT StartIndent, F { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%.2f %.2f %.2f)\n", This, StartIndent, LeftIndent, RightIndent); @@ -426,10 +426,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3870,6 +4024,10 @@ static HRESULT WINAPI TextPara_SetLineSpacing(ITextPara *iface, LONG LineSpacing +@@ -3871,6 +4025,10 @@ static HRESULT WINAPI TextPara_SetLineSpacing(ITextPara *iface, LONG LineSpacing { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d %.2f)\n", This, LineSpacingRule, LineSpacing); + FIXME("(%p)->(%ld %.2f)\n", This, LineSpacingRule, LineSpacing); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -437,7 +437,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3877,6 +4035,10 @@ static HRESULT WINAPI TextPara_GetSpaceAfter(ITextPara *iface, FLOAT *value) +@@ -3878,6 +4036,10 @@ static HRESULT WINAPI TextPara_GetSpaceAfter(ITextPara *iface, FLOAT *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -448,7 +448,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3884,6 +4046,10 @@ static HRESULT WINAPI TextPara_SetSpaceAfter(ITextPara *iface, FLOAT value) +@@ -3885,6 +4047,10 @@ static HRESULT WINAPI TextPara_SetSpaceAfter(ITextPara *iface, FLOAT value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%.2f)\n", This, value); @@ -459,7 +459,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3891,6 +4057,10 @@ static HRESULT WINAPI TextPara_GetSpaceBefore(ITextPara *iface, FLOAT *value) +@@ -3892,6 +4058,10 @@ static HRESULT WINAPI TextPara_GetSpaceBefore(ITextPara *iface, FLOAT *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -470,7 +470,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3898,6 +4068,10 @@ static HRESULT WINAPI TextPara_SetSpaceBefore(ITextPara *iface, FLOAT value) +@@ -3899,6 +4069,10 @@ static HRESULT WINAPI TextPara_SetSpaceBefore(ITextPara *iface, FLOAT value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%.2f)\n", This, value); @@ -481,7 +481,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3905,6 +4079,10 @@ static HRESULT WINAPI TextPara_GetWidowControl(ITextPara *iface, LONG *value) +@@ -3906,6 +4080,10 @@ static HRESULT WINAPI TextPara_GetWidowControl(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -492,10 +492,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3912,6 +4090,10 @@ static HRESULT WINAPI TextPara_SetWidowControl(ITextPara *iface, LONG value) +@@ -3913,6 +4091,10 @@ static HRESULT WINAPI TextPara_SetWidowControl(ITextPara *iface, LONG value) { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d)\n", This, value); + FIXME("(%p)->(%ld)\n", This, value); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -503,7 +503,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3919,6 +4101,10 @@ static HRESULT WINAPI TextPara_GetTabCount(ITextPara *iface, LONG *value) +@@ -3920,6 +4102,10 @@ static HRESULT WINAPI TextPara_GetTabCount(ITextPara *iface, LONG *value) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%p)\n", This, value); @@ -514,10 +514,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3926,6 +4112,10 @@ static HRESULT WINAPI TextPara_AddTab(ITextPara *iface, FLOAT tbPos, LONG tbAlig +@@ -3927,6 +4113,10 @@ static HRESULT WINAPI TextPara_AddTab(ITextPara *iface, FLOAT tbPos, LONG tbAlig { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%.2f %d %d)\n", This, tbPos, tbAlign, tbLeader); + FIXME("(%p)->(%.2f %ld %ld)\n", This, tbPos, tbAlign, tbLeader); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -525,7 +525,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3933,6 +4123,10 @@ static HRESULT WINAPI TextPara_ClearAllTabs(ITextPara *iface) +@@ -3934,6 +4124,10 @@ static HRESULT WINAPI TextPara_ClearAllTabs(ITextPara *iface) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)\n", This); @@ -536,7 +536,7 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3940,6 +4134,10 @@ static HRESULT WINAPI TextPara_DeleteTab(ITextPara *iface, FLOAT pos) +@@ -3941,6 +4135,10 @@ static HRESULT WINAPI TextPara_DeleteTab(ITextPara *iface, FLOAT pos) { ITextParaImpl *This = impl_from_ITextPara(iface); FIXME("(%p)->(%.2f)\n", This, pos); @@ -547,10 +547,10 @@ index 72840a4cafa..1588009432f 100644 return E_NOTIMPL; } -@@ -3947,6 +4145,10 @@ static HRESULT WINAPI TextPara_GetTab(ITextPara *iface, LONG iTab, FLOAT *ptbPos +@@ -3948,6 +4146,10 @@ static HRESULT WINAPI TextPara_GetTab(ITextPara *iface, LONG iTab, FLOAT *ptbPos { ITextParaImpl *This = impl_from_ITextPara(iface); - FIXME("(%p)->(%d %p %p %p)\n", This, iTab, ptbPos, ptbAlign, ptbLeader); + FIXME("(%p)->(%ld %p %p %p)\n", This, iTab, ptbPos, ptbAlign, ptbLeader); + + if (!para_get_reole(This)) + return CO_E_RELEASED; @@ -559,10 +559,10 @@ index 72840a4cafa..1588009432f 100644 } diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c -index e6329c5b1b6..20910c0617d 100644 +index c06be02bd89..dd89cf26183 100644 --- a/dlls/riched20/tests/richole.c +++ b/dlls/riched20/tests/richole.c -@@ -4100,6 +4100,274 @@ static void test_clipboard(void) +@@ -4246,6 +4246,274 @@ static void test_clipboard(void) ITextRange_Release(range); } @@ -837,7 +837,7 @@ index e6329c5b1b6..20910c0617d 100644 START_TEST(richole) { /* Must explicitly LoadLibrary(). The test has no references to functions in -@@ -4120,6 +4388,8 @@ START_TEST(richole) +@@ -4266,6 +4534,8 @@ START_TEST(richole) test_ITextRange_SetRange(); test_ITextRange_GetDuplicate(); test_ITextRange_Collapse(); @@ -847,5 +847,5 @@ index e6329c5b1b6..20910c0617d 100644 test_IOleWindow_GetWindow(); test_IOleInPlaceSite_GetWindow(); -- -2.30.2 +2.34.1 diff --git a/patches/sapi-iteration-tokens/0009-sapi-Return-dump-object-in-ISpObjectTokenEnumBuilder.patch b/patches/sapi-iteration-tokens/0009-sapi-Return-dump-object-in-ISpObjectTokenEnumBuilder.patch index 150058d0..854ee0d8 100644 --- a/patches/sapi-iteration-tokens/0009-sapi-Return-dump-object-in-ISpObjectTokenEnumBuilder.patch +++ b/patches/sapi-iteration-tokens/0009-sapi-Return-dump-object-in-ISpObjectTokenEnumBuilder.patch @@ -1,4 +1,4 @@ -From 0111782f2507d26c8cfc5401ad1291638b172696 Mon Sep 17 00:00:00 2001 +From ef059a443a88414b0c551608b5f8302002d5f6f0 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 28 Sep 2021 14:41:16 +1000 Subject: [PATCH] sapi: Return dump object in ISpObjectTokenEnumBuilder Next @@ -8,7 +8,7 @@ Subject: [PATCH] sapi: Return dump object in ISpObjectTokenEnumBuilder Next 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dlls/sapi/token.c b/dlls/sapi/token.c -index 686e6ade490..c322d560ec3 100644 +index 859d916fa43..12b3e0e8a6e 100644 --- a/dlls/sapi/token.c +++ b/dlls/sapi/token.c @@ -705,6 +705,7 @@ static HRESULT WINAPI token_enum_Next( ISpObjectTokenEnumBuilder *iface, @@ -17,7 +17,7 @@ index 686e6ade490..c322d560ec3 100644 struct token_enum *This = impl_from_ISpObjectTokenEnumBuilder( iface ); + HRESULT hr; - TRACE( "(%p)->(%u %p %p)\n", This, num, tokens, fetched ); + TRACE( "(%p)->(%lu %p %p)\n", This, num, tokens, fetched ); @@ -712,8 +713,12 @@ static HRESULT WINAPI token_enum_Next( ISpObjectTokenEnumBuilder *iface, @@ -35,5 +35,5 @@ index 686e6ade490..c322d560ec3 100644 static HRESULT WINAPI token_enum_Skip( ISpObjectTokenEnumBuilder *iface, -- -2.33.0 +2.34.1 diff --git a/patches/setupapi-DiskSpaceList/0001-setupapi-Rewrite-DiskSpaceList-logic-using-lists.patch b/patches/setupapi-DiskSpaceList/0001-setupapi-Rewrite-DiskSpaceList-logic-using-lists.patch index 7dd6f54b..ab3abac1 100644 --- a/patches/setupapi-DiskSpaceList/0001-setupapi-Rewrite-DiskSpaceList-logic-using-lists.patch +++ b/patches/setupapi-DiskSpaceList/0001-setupapi-Rewrite-DiskSpaceList-logic-using-lists.patch @@ -1,4 +1,4 @@ -From 18a06bed97bbc5a3821d91d112826bd0cf09daf8 Mon Sep 17 00:00:00 2001 +From cf705ac3f0c220d39767670ea5cbc3cf7b35b019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 3 Mar 2016 04:52:35 +0100 Subject: [PATCH] setupapi: Rewrite DiskSpaceList logic using lists. @@ -8,7 +8,7 @@ Subject: [PATCH] setupapi: Rewrite DiskSpaceList logic using lists. 1 file changed, 101 insertions(+), 82 deletions(-) diff --git a/dlls/setupapi/diskspace.c b/dlls/setupapi/diskspace.c -index f5e79d5327..4f047dd2b5 100644 +index f7f6a22ce2d..b3cc36051cd 100644 --- a/dlls/setupapi/diskspace.c +++ b/dlls/setupapi/diskspace.c @@ -1,6 +1,7 @@ @@ -66,8 +66,8 @@ index f5e79d5327..4f047dd2b5 100644 - LPDISKSPACELIST list=NULL; + struct space_list *list; -- TRACE("(%p, %u, 0x%08x)\n", Reserved1, Reserved2, Flags); -+ TRACE("(%p, %u, 0x%08x)\n", reserved1, reserved2, flags); +- TRACE("(%p, %lu, 0x%08x)\n", Reserved1, Reserved2, Flags); ++ TRACE("(%p, %lu, 0x%08x)\n", reserved1, reserved2, flags); - if (Reserved1 || Reserved2 || Flags & ~SPDSL_IGNORE_DISK) + if (reserved1 || reserved2 || flags & ~SPDSL_IGNORE_DISK) @@ -124,7 +124,7 @@ index f5e79d5327..4f047dd2b5 100644 + struct space_list *list_copy, *list = diskspace; + struct file_entry *file, *file_copy; + -+ TRACE("(%p, %p, %u, %u)\n", diskspace, reserved1, reserved2, flags); ++ TRACE("(%p, %p, %lu, %u)\n", diskspace, reserved1, reserved2, flags); - if (Reserved1 || Reserved2 || Flags) + if (reserved1 || reserved2 || flags) @@ -290,5 +290,5 @@ index f5e79d5327..4f047dd2b5 100644 } -- -2.20.1 +2.34.1 diff --git a/patches/setupapi-DiskSpaceList/0003-setupapi-Implement-SetupQueryDrivesInDiskSpaceList.patch b/patches/setupapi-DiskSpaceList/0003-setupapi-Implement-SetupQueryDrivesInDiskSpaceList.patch index 9691e2e7..a3253c80 100644 --- a/patches/setupapi-DiskSpaceList/0003-setupapi-Implement-SetupQueryDrivesInDiskSpaceList.patch +++ b/patches/setupapi-DiskSpaceList/0003-setupapi-Implement-SetupQueryDrivesInDiskSpaceList.patch @@ -1,4 +1,4 @@ -From 94dc72943a6ed74dab0e697777182b12ef1ee929 Mon Sep 17 00:00:00 2001 +From 35249229259bab1a14e23f74ff1a73bbf3751b60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 3 Mar 2016 05:03:11 +0100 Subject: [PATCH] setupapi: Implement SetupQueryDrivesInDiskSpaceList. @@ -10,7 +10,7 @@ Subject: [PATCH] setupapi: Implement SetupQueryDrivesInDiskSpaceList. 3 files changed, 155 insertions(+), 18 deletions(-) diff --git a/dlls/setupapi/diskspace.c b/dlls/setupapi/diskspace.c -index dcee29443d7..17873ddf957 100644 +index cc309f9393c..e59b2736300 100644 --- a/dlls/setupapi/diskspace.c +++ b/dlls/setupapi/diskspace.c @@ -419,3 +419,88 @@ BOOL WINAPI SetupAddToDiskSpaceListA(HDSKSPC diskspace, PCSTR targetfile, @@ -28,7 +28,7 @@ index dcee29443d7..17873ddf957 100644 + DWORD cur_size = 1; + BOOL used[26]; + -+ TRACE("(%p, %p, %d, %p)\n", diskspace, buffer, size, required_size); ++ TRACE("(%p, %p, %ld, %p)\n", diskspace, buffer, size, required_size); + + if (!diskspace) + { @@ -103,7 +103,7 @@ index dcee29443d7..17873ddf957 100644 + return ret; +} diff --git a/dlls/setupapi/stubs.c b/dlls/setupapi/stubs.c -index 47dca6c1505..80c3a7cfd9f 100644 +index af058b8eac8..55483941033 100644 --- a/dlls/setupapi/stubs.c +++ b/dlls/setupapi/stubs.c @@ -230,24 +230,6 @@ INT WINAPI SetupPromptReboot( HSPFILEQ file_queue, HWND owner, BOOL scan_only ) @@ -115,7 +115,7 @@ index 47dca6c1505..80c3a7cfd9f 100644 - */ -BOOL WINAPI SetupQueryDrivesInDiskSpaceListA(HDSKSPC disk_space, PSTR return_buffer, DWORD return_buffer_size, PDWORD required_size) -{ -- FIXME("%p, %p, %d, %p: stub\n", disk_space, return_buffer, return_buffer_size, required_size); +- FIXME("%p, %p, %ld, %p: stub\n", disk_space, return_buffer, return_buffer_size, required_size); - return FALSE; -} - @@ -124,7 +124,7 @@ index 47dca6c1505..80c3a7cfd9f 100644 - */ -BOOL WINAPI SetupQueryDrivesInDiskSpaceListW(HDSKSPC disk_space, PWSTR return_buffer, DWORD return_buffer_size, PDWORD required_size) -{ -- FIXME("%p, %p, %d, %p: stub\n", disk_space, return_buffer, return_buffer_size, required_size); +- FIXME("%p, %p, %ld, %p: stub\n", disk_space, return_buffer, return_buffer_size, required_size); - return FALSE; -} - @@ -218,5 +218,5 @@ index 2bdf8babce0..e39bb4eb47a 100644 + test_SetupQueryDrivesInDiskSpaceListA(); } -- -2.23.0 +2.34.1 diff --git a/patches/user32-FlashWindowEx/0001-user32-Improve-FlashWindowEx-message-and-return-valu.patch b/patches/user32-FlashWindowEx/0001-user32-Improve-FlashWindowEx-message-and-return-valu.patch index 7e5d0049..f0d5a0c2 100644 --- a/patches/user32-FlashWindowEx/0001-user32-Improve-FlashWindowEx-message-and-return-valu.patch +++ b/patches/user32-FlashWindowEx/0001-user32-Improve-FlashWindowEx-message-and-return-valu.patch @@ -1,7 +1,7 @@ -From 6f9a7411f7e0f9db155818b15c3bb1dfba2bbbd3 Mon Sep 17 00:00:00 2001 +From ac625fd640ad8d9d48765979370e635b77a580ec Mon Sep 17 00:00:00 2001 From: James Coonradt Date: Tue, 19 Sep 2017 12:28:50 -0600 -Subject: user32: Improve FlashWindowEx message and return value. +Subject: [PATCH] user32: Improve FlashWindowEx message and return value. --- dlls/user32/tests/win.c | 4 ++-- @@ -9,10 +9,10 @@ Subject: user32: Improve FlashWindowEx message and return value. 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c -index 9b8d16adc5f..ee923668995 100644 +index 29fdc56ecca..49e5b824806 100644 --- a/dlls/user32/tests/win.c +++ b/dlls/user32/tests/win.c -@@ -8314,7 +8314,7 @@ static void test_FlashWindowEx(void) +@@ -9820,7 +9820,7 @@ static void test_FlashWindowEx(void) SetLastError(0xdeadbeef); ret = pFlashWindowEx(&finfo); @@ -21,7 +21,7 @@ index 9b8d16adc5f..ee923668995 100644 finfo.cbSize = sizeof(FLASHWINFO) - 1; SetLastError(0xdeadbeef); -@@ -8365,7 +8365,7 @@ static void test_FlashWindowEx(void) +@@ -9871,7 +9871,7 @@ static void test_FlashWindowEx(void) finfo.dwFlags = FLASHW_STOP; SetLastError(0xdeadbeef); ret = pFlashWindowEx(&finfo); @@ -31,15 +31,15 @@ index 9b8d16adc5f..ee923668995 100644 DestroyWindow( hwnd ); } diff --git a/dlls/user32/win.c b/dlls/user32/win.c -index 3042a560ce9..2fb33058b6c 100644 +index 1a037297ac1..b79e942ee46 100644 --- a/dlls/user32/win.c +++ b/dlls/user32/win.c -@@ -3545,13 +3545,12 @@ BOOL WINAPI FlashWindowEx( PFLASHWINFO pfinfo ) +@@ -3842,13 +3842,12 @@ BOOL WINAPI FlashWindowEx( PFLASHWINFO pfinfo ) if (!wndPtr || wndPtr == WND_OTHER_PROCESS || wndPtr == WND_DESKTOP) return FALSE; hwnd = wndPtr->obj.handle; /* make it a full handle */ - if (pfinfo->dwFlags) wparam = !(wndPtr->flags & WIN_NCACTIVATED); -- else wparam = (hwnd == GetForegroundWindow()); +- else wparam = (hwnd == NtUserGetForegroundWindow()); + wparam = (wndPtr->flags & WIN_NCACTIVATED) != 0; WIN_ReleasePtr( wndPtr ); @@ -51,5 +51,5 @@ index 3042a560ce9..2fb33058b6c 100644 } -- -2.14.1 +2.34.1 diff --git a/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch b/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch index 737c0d86..3d37ea54 100644 --- a/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch +++ b/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch @@ -1,8 +1,8 @@ -From b41d5d29f777dccdd43f09270858f2ca032db00d Mon Sep 17 00:00:00 2001 +From 8997ff8b93a64bd2d0db463b6789d05dc5a5fbb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= Date: Mon, 22 Jul 2019 15:29:25 +0300 -Subject: [PATCH 1/2] user32/focus: Prevent a recursive loop with the - activation messages +Subject: [PATCH] user32/focus: Prevent a recursive loop with the activation + messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -21,10 +21,10 @@ Signed-off-by: Gabriel Ivăncescu 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/dlls/user32/focus.c b/dlls/user32/focus.c -index f1c883167e..0d32d008a7 100644 +index a5fc376bdc6..cae559270bf 100644 --- a/dlls/user32/focus.c +++ b/dlls/user32/focus.c -@@ -78,7 +78,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) +@@ -89,7 +89,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) { HWND previous = GetActiveWindow(); BOOL ret; @@ -33,7 +33,7 @@ index f1c883167e..0d32d008a7 100644 CBTACTIVATESTRUCT cbt; if (previous == hwnd) -@@ -87,16 +87,24 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) +@@ -98,16 +98,24 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) return TRUE; } @@ -67,7 +67,7 @@ index f1c883167e..0d32d008a7 100644 } SERVER_START_REQ( set_active_window ) -@@ -106,9 +114,9 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) +@@ -117,9 +125,9 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) previous = wine_server_ptr_handle( reply->previous ); } SERVER_END_REQ; @@ -79,7 +79,7 @@ index f1c883167e..0d32d008a7 100644 if (hwnd) { -@@ -116,7 +124,11 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) +@@ -127,7 +135,11 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) if (SendMessageW( hwnd, WM_QUERYNEWPALETTE, 0, 0 )) SendMessageTimeoutW( HWND_BROADCAST, WM_PALETTEISCHANGING, (WPARAM)hwnd, 0, SMTO_ABORTIFHUNG, 2000, NULL ); @@ -92,16 +92,16 @@ index f1c883167e..0d32d008a7 100644 } old_thread = previous ? GetWindowThreadProcessId( previous, NULL ) : 0; -@@ -148,7 +160,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) +@@ -159,7 +171,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) } } - if (IsWindow(hwnd)) + if (!(winflags & WIN_IS_IN_ACTIVATION) && IsWindow(hwnd)) { - SendMessageW( hwnd, WM_NCACTIVATE, (hwnd == GetForegroundWindow()), (LPARAM)previous ); + SendMessageW( hwnd, WM_NCACTIVATE, hwnd == NtUserGetForegroundWindow(), (LPARAM)previous ); SendMessageW( hwnd, WM_ACTIVATE, -@@ -173,7 +185,9 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) +@@ -184,7 +196,9 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) } } @@ -113,10 +113,10 @@ index f1c883167e..0d32d008a7 100644 diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c -index a5bc1c5518..64f7eeecf3 100644 +index 9164f57fdc2..01cb214acdf 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c -@@ -5142,7 +5142,7 @@ static void test_messages(void) +@@ -5571,7 +5571,7 @@ static void test_messages(void) ShowWindow(hwnd, SW_MINIMIZE); flush_events(); @@ -126,7 +126,7 @@ index a5bc1c5518..64f7eeecf3 100644 if (GetWindowLongW( hwnd, GWL_STYLE ) & WS_MINIMIZE) diff --git a/dlls/user32/win.h b/dlls/user32/win.h -index 1f51fd6331..a64cc66be5 100644 +index 1f51fd63314..a64cc66be5a 100644 --- a/dlls/user32/win.h +++ b/dlls/user32/win.h @@ -79,6 +79,7 @@ typedef struct tagWND @@ -138,5 +138,5 @@ index 1f51fd6331..a64cc66be5 100644 /* Window functions */ extern HWND get_hwnd_message_parent(void) DECLSPEC_HIDDEN; -- -2.17.1 +2.34.1 diff --git a/patches/winex11-_NET_ACTIVE_WINDOW/0002-user32-Before-asking-a-WM-to-activate-a-window-make-.patch b/patches/winex11-_NET_ACTIVE_WINDOW/0002-user32-Before-asking-a-WM-to-activate-a-window-make-.patch index 2e6dee38..026eabf7 100644 --- a/patches/winex11-_NET_ACTIVE_WINDOW/0002-user32-Before-asking-a-WM-to-activate-a-window-make-.patch +++ b/patches/winex11-_NET_ACTIVE_WINDOW/0002-user32-Before-asking-a-WM-to-activate-a-window-make-.patch @@ -20,7 +20,7 @@ index 3746950..2ab599a 100644 - } - USER_Driver->pSetActiveWindow( hwnd ); -+ if (hwnd == GetForegroundWindow() && !IsIconic( hwnd )) ++ if (hwnd == NtUserGetForegroundWindow() && !IsIconic( hwnd )) + USER_Driver->pSetActiveWindow( hwnd ); + } diff --git a/staging/upstream-commit b/staging/upstream-commit index 29edb9ac..738fbc26 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -61db4aa66df85574b7c2e21325b5527ed795dae8 +5a66eab725423951860676aef49feeb3668eb20c