Module: wine
Branch: master
Commit: 59589e11964971864dcc17762c5e1c167ae224bb
URL: https://gitlab.winehq.org/wine/wine/-/commit/59589e11964971864dcc17762c5e1c…
Author: Connor McAdams <cmcadams(a)codeweavers.com>
Date: Fri Sep 16 13:09:03 2022 -0400
uiautomationcore/tests: Ignore UIA_NativeWindowHandlePropertyId in certain tests.
Windows versions 10v1507 and below classify a provider as an HWND
provider if it returns a value for UIA_NativeWindowHandle. By ignoring
this property, we get more consistent behavior in tests between all
Windows versions.
Signed-off-by: Connor McAdams <cmcadams(a)codeweavers.com>
---
dlls/uiautomationcore/tests/uiautomation.c | 84 +++++++++++-------------------
1 file changed, 30 insertions(+), 54 deletions(-)
Module: wine
Branch: master
Commit: e7be6ae2f1d85c380098350cff3ed1c2fb25e5bc
URL: https://gitlab.winehq.org/wine/wine/-/commit/e7be6ae2f1d85c380098350cff3ed1…
Author: Francois Gouget <fgouget(a)free.fr>
Date: Thu Oct 20 16:23:31 2022 +0200
rpcrt4/tests: Fix the spelling of a couple of comments.
---
dlls/rpcrt4/tests/cstub.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/rpcrt4/tests/cstub.c b/dlls/rpcrt4/tests/cstub.c
index d44ee36088c..794d85744ef 100644
--- a/dlls/rpcrt4/tests/cstub.c
+++ b/dlls/rpcrt4/tests/cstub.c
@@ -1534,7 +1534,7 @@ static void test_ChannelBufferRefCount(IPSFactoryBuffer *ppsf)
* so it's possible these are freed out from under it.
* E.g. an event sink might unadvise upon receiving the event it was waiting for;
* this unadvise could be reentrant to Invoke because SendReceive pumps STA messages.
- * The source would then erase that conection point entry and Release the proxy. */
+ * The source would then erase that connection point entry and Release the proxy. */
IRpcProxyBuffer_Disconnect(proxy_buffer);
ok(test_chanbuf.RefCount == 1, "got %ld\n", test_chanbuf.RefCount);
IRpcProxyBuffer_Release(proxy_buffer);
@@ -1542,7 +1542,7 @@ static void test_ChannelBufferRefCount(IPSFactoryBuffer *ppsf)
ok(refs == 0, "got %ld\n", refs);
ok(test_chanbuf.RefCount == 1, "got %ld\n", test_chanbuf.RefCount);
- /* NdrProxyFreeBuffer must not dereference the the now-freed proxy_if1,
+ /* NdrProxyFreeBuffer must not dereference the now-freed proxy_if1,
* yet should still free the remaining reference on test_chanbuf */
NdrProxyFreeBuffer(proxy_if1, &stubMessage);
ok(test_chanbuf.RefCount == 0, "got %ld\n", test_chanbuf.RefCount);
Module: wine
Branch: master
Commit: 0eb40cdbd07c51a70d54e3ebbd624769964a69ea
URL: https://gitlab.winehq.org/wine/wine/-/commit/0eb40cdbd07c51a70d54e3ebbd6247…
Author: Francois Gouget <fgouget(a)free.fr>
Date: Thu Oct 20 16:23:05 2022 +0200
dbghelp: Fix the spelling of a couple of comments.
---
dlls/dbghelp/dbghelp_private.h | 4 ++--
dlls/dbghelp/dwarf.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h
index a5ea41ae014..5e63d949a43 100644
--- a/dlls/dbghelp/dbghelp_private.h
+++ b/dlls/dbghelp/dbghelp_private.h
@@ -271,11 +271,11 @@ struct symt_data
* address in one of its ranges
*
* Notes:
- * (A): shall evolve but storage is native is awkward: from PGO testing, the
+ * (A): shall evolve but storage in native is awkward: from PGO testing, the
* top function is stored with its first range of address; all the others
* are stored as blocks, children of compiland, but which lexical parent
* is the top function. This breaks the natural assumption that
- * children <> lexical parent is symetrical.
+ * children <> lexical parent is symmetrical.
* (B): see dwarf.c for some gory discrepancies between native & builtin
* DbgHelp.
*/
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index f8b3f8d717c..f9ffa374dbc 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -2201,7 +2201,7 @@ static void dwarf2_parse_subprogram_block(dwarf2_subprogram_t* subpgm,
}
/* Dwarf tends to keep the structure of the C/C++ program, and emits DW_TAG_lexical_block
- * for every block in source program.
+ * for every block the in source program.
* With inlining and other optimizations, code for a block no longer lies in a contiguous
* chunk of memory. It's hence described with (potentially) multiple chunks of memory.
* Then each variable of each block is attached to its block. (A)
@@ -2217,7 +2217,7 @@ static void dwarf2_parse_subprogram_block(dwarf2_subprogram_t* subpgm,
*
* DbgHelp only exposes a contiguous chunk of memory for a block.
*
- * => Store internaly all the ranges of addresses in a block, but only expose the size
+ * => Store internally all the ranges of addresses in a block, but only expose the size
* of the first chunk of memory.
* Otherwise, it would break the rule: blocks' chunks don't overlap.
* Note: This could mislead some programs using the blocks' address and size information.
Module: wine
Branch: master
Commit: 5f0b7390e99fb5b26a78ee5d99266d75c810baad
URL: https://gitlab.winehq.org/wine/wine/-/commit/5f0b7390e99fb5b26a78ee5d99266d…
Author: Francois Gouget <fgouget(a)free.fr>
Date: Thu Oct 20 16:22:23 2022 +0200
d3d10core/tests: Fix the spelling of a comment.
---
dlls/d3d10core/tests/d3d10core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/d3d10core/tests/d3d10core.c b/dlls/d3d10core/tests/d3d10core.c
index 74f689630eb..cd14371197f 100644
--- a/dlls/d3d10core/tests/d3d10core.c
+++ b/dlls/d3d10core/tests/d3d10core.c
@@ -4813,7 +4813,7 @@ static void test_pipeline_statistics_query(void)
get_query_data(query, &data, sizeof(data));
/* WARP devices randomly return all-zeroed structures as if the draw did not happen. Flushing and
- * sleeping a second before ending the query reduces the likelyhood of hitting the bug a lot, but
+ * sleeping a second before ending the query reduces the likelihood of hitting the bug a lot, but
* does not eliminate it entirely. To make things work reliably ignore such broken results. */
if (is_warp_device(device) && !memcmp(&data, &zero_data, sizeof(data)))
{
Module: wine
Branch: master
Commit: 4277b47f3e4446517817da6927f0744767b7f202
URL: https://gitlab.winehq.org/wine/wine/-/commit/4277b47f3e4446517817da6927f074…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com>
Date: Wed Oct 19 23:46:06 2022 +0800
comctl32/tests: Use a toolbar with TBSTYLE_FLAT in toolbar visual tests.
Fix a test failure when theming is off. A toolbar without TBSTYLE_FLAT will fill its checked button
background rectangle when theming is inactive, overwriting the checked pattern required for the test.
---
dlls/comctl32/tests/toolbar.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/comctl32/tests/toolbar.c b/dlls/comctl32/tests/toolbar.c
index f66094a0b3a..7c886e1f88f 100644
--- a/dlls/comctl32/tests/toolbar.c
+++ b/dlls/comctl32/tests/toolbar.c
@@ -2646,7 +2646,8 @@ static void test_visual(void)
RECT rect;
BOOL ret;
- toolbar = CreateWindowA(TOOLBARCLASSNAMEA, "", WS_CHILD | WS_VISIBLE, 0, 0, 50, 50, hMainWnd, 0, 0, NULL);
+ toolbar = CreateWindowA(TOOLBARCLASSNAMEA, "", WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT, 0, 0, 50,
+ 50, hMainWnd, 0, 0, NULL);
ok(!!toolbar, "Failed to create a toolbar window.\n");
/* Test that the comctl32 55AA pattern brush is not used to draw checked background when theming is on */
Module: wine
Branch: master
Commit: c28a749f660f251da26d3d8cf163d2ee72bc8af6
URL: https://gitlab.winehq.org/wine/wine/-/commit/c28a749f660f251da26d3d8cf163d2…
Author: Eric Pouech <eric.pouech(a)gmail.com>
Date: Thu Oct 20 10:54:18 2022 +0200
ntdll/tests: Force alignment of output structures.
Some Windows version expect output to be aligned on 4 bytes.
Notes (from i386 and x86_64 tests):
- MSVC and Mingw/gcc don't layout the two variables (sdki, sdki_ex)
the same way.
- MSVC aligns each variable on 4-byte boundary,
- MingW/GCC stores them in a 8-byte chunk, but starting from the
end of the buffer: hence none of them is on a 4-byte boundary.
So, fixing the alignment of variables is not sufficient to
workaround the compilers' discrepancy on all source code.
I didn't find a generic way to align on 4 bytes structures of size
smaller than 4 bytes (apart from adding the DECLSPEC_ALIGN to
each of the offending structures, likely not that many though).
Ideas welcomed.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53684
Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com>
---
dlls/ntdll/tests/info.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c
index 0af4259b85d..bef982b20b0 100644
--- a/dlls/ntdll/tests/info.c
+++ b/dlls/ntdll/tests/info.c
@@ -1066,8 +1066,9 @@ static void test_query_kerndebug(void)
{
NTSTATUS status;
ULONG ReturnLength;
- SYSTEM_KERNEL_DEBUGGER_INFORMATION_EX skdi_ex;
- SYSTEM_KERNEL_DEBUGGER_INFORMATION skdi;
+ /* some Windows version expect alignment */
+ SYSTEM_KERNEL_DEBUGGER_INFORMATION_EX DECLSPEC_ALIGN(4) skdi_ex;
+ SYSTEM_KERNEL_DEBUGGER_INFORMATION DECLSPEC_ALIGN(4) skdi;
status = pNtQuerySystemInformation(SystemKernelDebuggerInformation, &skdi, 0, &ReturnLength);
ok( status == STATUS_INFO_LENGTH_MISMATCH, "Expected STATUS_INFO_LENGTH_MISMATCH, got %08lx\n", status);
Module: wine
Branch: master
Commit: d573c8d4d8d08e9e66e8b7c6dd74096b8c594965
URL: https://gitlab.winehq.org/wine/wine/-/commit/d573c8d4d8d08e9e66e8b7c6dd7409…
Author: Florian Kübler <kuebler(a)google.com>
Date: Fri Oct 14 12:52:03 2022 +0000
ntdll: Add CFI unwind info to __wine_syscall_dispatcher (x86_64).
This change is adding DWARF (CFI) unwind information to the
hand-written assembly of the `__wine_syscall_dispatcher` function.
This enables unwinding through the dispatcher from the Linux stack
into (and through) the Windows stack.
The general idea is that the `syscall_frame` struct contains the
content of the callee-save registers before the function call
(in particular the stack pointer and the return address). At any
point of the execution, we have a pointer into the `syscall_frame`
in $rcx, $rbp or $rsp.
For the CFI codes the general idea is that we are defining the
computations of the callee-save registers based on the
`syscall_frame` using DWARF’s `breg` instruction, rather than
relative to CFA.
This change adds a bunch of convenience macros, to (hopefully)
improve readability of the CFI instructions.
Note: Those change was used with great success for unwinding through
the dispatcher using a modified LLDB shown in the
“how-wine-works-101” (https://werat.dev/blog/how-wine-works-101/)
blog post as well as for in the Orbit profiler
(https://github.com/google/orbit), that has mixed-callstack
unwinding support.
Test: Inspect callstacks reported by the Orbit profiler while
running some Windows targets using the modified wine, as well as
verify debugging reports correct callstacks when stepping with our
modified LLDB through the dispatcher itself (so that we are able
to unwind through the dispatcher at any instruction).
---
dlls/ntdll/unix/signal_x86_64.c | 466 ++++++++++++++++++++++++----------------
1 file changed, 275 insertions(+), 191 deletions(-)