Commit graph

174153 commits

Author SHA1 Message Date
Rémi Bernon
da936bcf35 winex11: Use the new window state tracker to get WM_STATE value. 2024-11-15 19:08:40 +01:00
Rémi Bernon
e75192fe72 winex11: Use the new window state tracker to get _NET_WM_STATE value. 2024-11-15 19:08:40 +01:00
Rémi Bernon
0dc7e40468 winex11: Ignore focus changes during WM_STATE transitions.
When WM_STATE is being quickly updated, and depending on the WM we might
receive transient focus changes, which will disrupt the Win32 state and
make us randomly lose focus.

Ignore them instead, when a window is being shown, and wait for WM_STATE
to be updated and stable. We will eventually receive a WM_TAKE_FOCUS /
FocusIn event *after* a window has been shown.

When a window is hidden or minimized, we will receive the FocusOut event
during the WM_STATE transition, and can safely handle it in this case,
as we should have done all the Win32 side effects and have changed the
foreground window already.

When there's no window state change pending, the focus change event is
unexpected, coming from the user or WM, and we handle it normally.
2024-11-15 19:08:20 +01:00
Biswapriyo Nath
700ee59470 include: Add UI Automation Annotation Type ID definitions.
Required for c7ba4a9640
2024-11-15 19:08:10 +01:00
Marc-Aurel Zent
c76a192bf6 winex11: Include kbd.h instead of ime.h. 2024-11-15 19:07:58 +01:00
Marc-Aurel Zent
9acdc03128 include: Add Japanese IME virtual key codes to kbd.h. 2024-11-15 19:07:57 +01:00
Hans Leidekker
8b121591be wininet: Use InternetTimeToSystemTimeW() to convert header values.
The current code calls mktime() which interprets its argument as local time while these
values are assumed to be in UTC.
2024-11-15 19:07:26 +01:00
Hans Leidekker
5a23afb34d wininet: Accept UTC as the equivalent of GMT.
Based on a patch by Etaash Mathamsetty.
2024-11-15 19:07:24 +01:00
Nikolay Sivov
6a01532899 comctl32/listview: Send LVN_HOTTRACK in response to mouse moves.
It's worth noting that comctl32 v6 have hottracking notifications enabled
by default, there is no need to set any extended styles.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-11-15 19:07:06 +01:00
Nikolay Sivov
e5b0ead2b5 comctl32/listview: Initialize hot cursor handle.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-11-15 19:07:04 +01:00
Eric Pouech
b9c06c4474 dbghelp: Fill-in data in SymSrvGetFileIndexIndo if BAD_EXE_FORMAT.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-11-15 16:25:10 +01:00
Eric Pouech
a57eedec86 dbghelp/tests: Improve SymSrvGetFileIndexInfo tests.
Esp. the failures with ERROR_BAD_EXE_FORMAT still fill all the fields
in the returned structure.

Add more flexibility to .dbg file creation (optional DEBUG_DIRECTORY).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-11-15 16:25:10 +01:00
Eric Pouech
9212706ede dbghelp: Only WARN on stripped PE images.
When stripping, binutils' objcopy also sets the flag, yet
without stripping into a .DBG file.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-11-15 16:25:10 +01:00
Eric Pouech
40b314cf34 dbghelp: Don't try to load PDB for a RSDS debug directory in .buildid section.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-11-15 16:25:10 +01:00
Brendan Shanks
aa24458086 Add .gitattributes file to mark generated files. 2024-11-15 16:25:10 +01:00
Alexandre Julliard
576d7e24cd server: Use an explicit struct instead of a typedef for async I/O data. 2024-11-15 16:25:10 +01:00
Alexandre Julliard
305ec347dc server: Use an explicit struct instead of a typedef for user APCs. 2024-11-15 16:25:10 +01:00
Alexandre Julliard
4c0103e58c server: Use an explicit union instead of a typedef for APC results. 2024-11-15 16:25:10 +01:00
Alexandre Julliard
1137a10ef7 server: Use an explicit union instead of a typedef for APC calls. 2024-11-15 16:25:10 +01:00
Alexandre Julliard
eae7db4fa4 server: Simplify updating the protocol version. 2024-11-15 16:25:09 +01:00
Alexandre Julliard
75e2ec479b server: Move the generated part of trace.c to a separate header. 2024-11-15 16:25:09 +01:00
Alexandre Julliard
45953cdbec server: Move the generated part of request.h to a separate header. 2024-11-15 16:25:09 +01:00
Alexandre Julliard
126c54cd25 server: Print a warning if page size isn't 4k. 2024-11-15 16:25:09 +01:00
Rémi Bernon
ab40b7fd86 winex11: Always generate ConfigureNotify events for embedded windows.
We won't receive a ConfigureNotify event if the embedded window has been
reparented without moving or resizing it. Top-level windows always
receive synthetic ConfigureNotify from the window manager.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57370
2024-11-14 21:56:33 +01:00
Rémi Bernon
0bd49a68dc winex11: Generate ConfigureNotify events for the children tree.
When an ancestor window is moved.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57370
2024-11-14 21:56:33 +01:00
Rémi Bernon
50683f7b32 winex11: Avoid overriding previously received ConfigureNotify events.
The X event merging logic removes events from the queue in advance, and
putting a dummy ConfigureNotify back in the queue will override any
previously received event.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57370
2024-11-14 21:56:33 +01:00
Rémi Bernon
48bb5f90a2 winex11: Retrieve the HWND for the host window's child window.
Instead of the host window itself, which will never have one.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57370
2024-11-14 21:56:33 +01:00
Rémi Bernon
7352196f6a winex11: Introduce a new host_window_send_configure_events helper.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57370
2024-11-14 21:56:33 +01:00
Rémi Bernon
4eefc0b9a9 winex11: Reset the window relative position when it gets reparented.
Instead of keeping the same offset as from the previous window parent,
which may cause offsets to stack up with embedded windows.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57370
2024-11-14 21:56:33 +01:00
Rémi Bernon
51f6839395 winex11: Reset embedded window position to 0x0 before docking it.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57370
2024-11-14 21:56:33 +01:00
Zhiyi Zhang
b240f8ea93 ntdll: Implement NtSetIoCompletionEx(). 2024-11-14 21:56:33 +01:00
Zhiyi Zhang
54b9f68b8e ntdll/tests: Add NtSetIoCompletionEx() tests. 2024-11-14 21:56:33 +01:00
Nikolay Sivov
5a7a4b7f1a dwrite/layout: Skip to the next typography range when current one has no features.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57407
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-11-14 21:56:33 +01:00
Paul Gofman
698ab75a59 server: Don't update cursor pos in set_window_pos() if window wasn't moved.
Fixes a regression introduced by commit db9a4bc66a.
2024-11-14 21:56:33 +01:00
Alexandre Julliard
8e2442584c ntdll/tests: Fix a test failure on 64-bit Windows. 2024-11-14 21:56:33 +01:00
Alexandre Julliard
6d1df55bf3 ntdll: Always return 0 length on failure in SystemFirmwareTableInformation. 2024-11-14 21:56:33 +01:00
Alexandre Julliard
9f8ef43991 rundll32: Restart itself if the dll is for a different architecture.
Based on the corresponding code in regsvr32.
2024-11-14 21:56:33 +01:00
Alexandre Julliard
5c597119a0 rundll32: Rewrite command line parsing.
Windows doesn't do any fancy unescaping.
2024-11-14 11:54:35 +01:00
Alexandre Julliard
c20bf25556 rundll32: Use crt allocation functions. 2024-11-14 11:53:03 +01:00
Alexandre Julliard
194ada7583 rundll32: Don't bother cleaning up at process exit. 2024-11-14 11:52:26 +01:00
Jacek Caban
8a87ce3c4f configure: Use -fms-hotpatch when available.
On Clang, this flag serves as a replacement for the __ms_hook_prologue__ attribute.
2024-11-14 11:10:28 +01:00
Jacek Caban
f47da4307f winegcc: Pass -fms-hotpatch to the linker.
The -fms-hotpatch flag is relevant for both the compiler and the linker.
2024-11-14 11:10:28 +01:00
Jacek Caban
0f84798246 configure: Use -ffunction-sections for PE targets. 2024-11-14 11:10:28 +01:00
Aurimas Fišeras
0eda6a76c7 po: Update Lithuanian translation. 2024-11-14 11:06:38 +01:00
Gabriel Ivăncescu
38f1ce3210 mshtml: Forward deletion for GLOBAL_SCRIPTVAR to the script's object.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-11-13 23:14:48 +01:00
Gabriel Ivăncescu
9b264c948f mshtml: Check if window global prop still exists before returning its id.
We have to introduce special handling for jscript, as it's probably integrated
on native mshtml.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-11-13 23:14:47 +01:00
Gabriel Ivăncescu
055bf9f5a2 mshtml: Override window's element prop directly rather than using GLOBAL_DISPEXVAR.
When GLOBAL_DISPEXVAR is used, we store the id of the dynamic prop and
invoke it using the same id. But this is not the case if we have a jsdisp,
which is redirected from InvokeEx and results in an invalid id.

The actual way this works on native (in IE9+) is that element/frame props
are special and not part of the window object at all. They're actually
looked up after the prototype is, in a special way, but that requires a
revamp. Storing over it just creates an actual prop on the window (which
is what we are doing here).

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-11-13 23:14:36 +01:00
Gabriel Ivăncescu
18aefb5dcf mshtml: Use BSTR to store global prop's name.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-11-13 23:14:36 +01:00
Gabriel Ivăncescu
85331da430 jscript: Add basic semi-stub implementation of GetMemberProperties.
Also add tests for GetMemberName and DeleteMemberBy* which we did not have.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-11-13 23:14:35 +01:00
Gabriel Ivăncescu
5947a66f4c mshtml: Throw invalid action for IE8 window prop deletion.
Instead of E_NOTIMPL.

We can't use the dispex's delete because it also applies to dynamic and
builtin props and it also happens too late when deleting by name (after
looking it up), where existing tests show it doesn't look up the dispid
at all.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2024-11-13 23:14:33 +01:00