Commit graph

167366 commits

Author SHA1 Message Date
Alexandros Frantzis de66ea9df6 winewayland.drv: Ensure the logical output dimensions have sane values.
If the compositor doesn't provide the logical dimensions (or sane ones),
use the physical pixel dimensions as the logical dimensions.
2023-10-16 22:30:17 +02:00
Alexandros Frantzis 1bc84c177d winewayland.drv: Ensure outputs can access xdg information robustly.
Add outputs to the output_list on creation (instead of when they are
first configured), so they are detected and "upgraded" with xdg
information even if the compositor advertises the zxdg_output_manager
global after the wl_outputs themselves.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55788
2023-10-16 22:30:15 +02:00
Bartosz Kosiorek 8cfcc211b8 gdiplus: Optimize GDI32_GdipDrawPath (via prepare_dc function). 2023-10-16 19:01:15 +02:00
Zebediah Figura 245bdef5b1 advapi32: Implement GetSecurityInfo(SE_WINDOW_OBJECT).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55763
2023-10-16 18:53:48 +02:00
Zebediah Figura 2408676fa2 user32/tests: Add basic tests for GetUserObjectSecurity(). 2023-10-16 18:53:48 +02:00
Zebediah Figura 1a1c1d07ee advapi32: Respect object type in SetSecurityInfo().
Do not try to treat types which are not kernel handles as kernel handles.
2023-10-16 18:53:48 +02:00
Zebediah Figura b4926e2724 advapi32: Respect object type in GetSecurityInfo().
Do not try to treat types which are not kernel handles as kernel handles.
2023-10-16 18:53:48 +02:00
Zebediah Figura 398025083d advapi32/tests: Add more tests for GetSecurityInfo(). 2023-10-16 18:53:48 +02:00
Zebediah Figura c05973d077 advapi32: Fix rewinding the last path segment in SetSecurityInfo().
In particular, handle the case where an object has no name.

In theory, this should not happen for regular files, but SetSecurityInfo() is
almost certainly not supposed to care about that [i.e. this code probably
belongs in the server, at the very least]. However, fixing that will require
much more work.

While we're at it, rewrite the code to be a little more idiomatic about its
intent.
2023-10-16 18:53:48 +02:00
Zebediah Figura 3ecedb7e14 advapi32/tests: Use StringFromGUID2(). 2023-10-16 18:53:48 +02:00
Zebediah Figura 46dfbf89d2 advapi32: GetNamedSecurityInfo() takes a const name argument.
At least in the Windows 10 SDK.
2023-10-16 18:53:48 +02:00
Rémi Bernon df75c9ed3c include: Fix debugstr_fourcc printf format to print at most 4 chars. 2023-10-16 18:53:48 +02:00
Alexandre Julliard ae976eec5e ntdll: Use .seh handler in RtlUserThreadStart on ARM64. 2023-10-16 18:53:48 +02:00
Alexandre Julliard 943e16def6 ntdll: Move RtlUserThreadStart implementation to the CPU backends. 2023-10-16 11:59:50 +02:00
Alexandre Julliard bf2b38a805 ntdll: Move the relay trace on thread startup to LdrInitializeThunk(). 2023-10-16 11:42:18 +02:00
Paul Gofman c22aa54e99 ntdll: Use .seh handler instead of __TRY in RtlUserThreadStart() on x64. 2023-10-16 11:39:26 +02:00
Helix Graziani e5536fa0de uxtheme/tests: Skip the test if the SystemUsesLightTheme value isn't found.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=55771
2023-10-16 11:16:37 +02:00
Gerald Pfeifer bd0656b6e2 readme: Update FreeBSD information.
Bump minimum version from 8.0 to 12.4, the minimum release supported
upstream. Streamline the FreeBSD section.
2023-10-16 11:16:24 +02:00
Esme Povirk 431d1943f5 user32/tests: Reduce size demand in test_hvredraw. 2023-10-16 11:16:05 +02:00
Connor McAdams cc75dbd315 uiautomationcore: Add support for translating EVENT_OBJECT_FOCUS for native MSAA IAccessibles.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Connor McAdams f26d470920 uiautomationcore: Potentially raise focus event on the currently focused serverside provider in response to EVENT_OBJECT_FOCUS.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Connor McAdams 2be7de9898 uiautomationcore: Potentially raise focus event for serverside providers in response to EVENT_OBJECT_FOCUS.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Connor McAdams 5a987d48b2 uiautomationcore/tests: Add tests for COM API EVENT_OBJECT_FOCUS translation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Connor McAdams 0592872161 uiautomationcore: Release node lresult upon failure to allocate a node in uia_node_from_lresult().
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-10-16 11:15:38 +02:00
Nikolay Sivov 48e110e0fd mfmediaengine: Use extension object in CanPlayType(). 2023-10-16 11:15:08 +02:00
Nikolay Sivov b5d4394913 mfmediaengine: Keep engine extension pointer. 2023-10-16 11:15:08 +02:00
Nikolay Sivov 5617d78f0d include: Add IMFMediaEngineAudioEndpointId definition. 2023-10-16 11:15:08 +02:00
Nikolay Sivov 5f48e7816c mfmediaengine/tests: Use a single helper to create engine instances. 2023-10-16 11:15:08 +02:00
Alexandre Julliard ffeb530cc0 makefiles: Always use the global SOURCES variable for .y files. 2023-10-14 13:51:42 +02:00
Alexandre Julliard 94771cf07a makefiles: Always use the global SOURCES variable for .l files. 2023-10-14 13:50:44 +02:00
Alexandre Julliard 2205218b24 makefiles: Always use the global SOURCES variable for .svg files. 2023-10-14 13:47:59 +02:00
Alexandre Julliard 4e9f1a41b9 makefiles: Always use the global SOURCES variable for .man.in files. 2023-10-14 13:44:07 +02:00
Alexandre Julliard 9d78031de6 Release 8.18. 2023-10-13 23:00:12 +02:00
Nikolay Sivov f690784338 d3dx9: Check for tx_1_0 blob magic earlier in D3DXCreateTextureShader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-13 22:49:29 +02:00
Francois Gouget 0e44c658b6 advapi32/tests: Don't check the content of the buffer if ReadEventLog() fails. 2023-10-13 18:26:10 +02:00
Francois Gouget b34ec64537 advapi32/tests: Avoid unneeded reallocations of the ReadEventLog() buffer.
Also we don't care about the content of the buffer so using
HeapRealloc() makes no sense.
2023-10-13 18:26:09 +02:00
Francois Gouget e0c3530a74 advapi32/tests: Add the read_write info to the failures context.
Otherwise it's impossible to know which iteration failed.
2023-10-13 18:26:07 +02:00
Francois Gouget e6b5afcbd8 advapi32/tests: Better identify OpenEventLogA() failures. 2023-10-13 18:26:07 +02:00
Francois Gouget e9f6ff8cd4 user32/tests: Don't test GetWindowModuleFileName() on windows belonging to another process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55777
2023-10-13 18:25:14 +02:00
Eric Pouech 44ab120661 winedbg: Correctly read LDT entries for wow64 debuggee.
This mostly matters for Mac as segment CS is handled as a real LDT
entry.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-13 18:04:36 +02:00
Eric Pouech 91ba80df26 winedbg: Set first LDT entry value as ntdll does.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-10-13 18:04:36 +02:00
Rémi Bernon b831dbfc3b winex11: Forcefully unmap the clipping window when it loses focus.
Fixes cursor not being released when alt-tabbing out of an unresponsive
foreground window.
2023-10-13 18:03:52 +02:00
Alexandros Frantzis 89c36c11fd winewayland.drv: Avoid resizing fullscreen windows.
If the window is already fullscreen and its size is compatible with what
the compositor is requesting, don't force a resize, since some applications
are very insistent on a particular fullscreen size (which may not match
the monitor size).
2023-10-13 17:50:06 +02:00
Alexandros Frantzis 26c7dfb7e9 winewayland.drv: Rename wayland_surface_configure_is_compatible for consistency.
Rename the function wayland_surface_configure_is_compatible to
wayland_surface_config_is_compatible to match the associated struct name.
2023-10-13 17:50:04 +02:00
Alexandros Frantzis dfcd2d8b70 winewayland.drv: Use surface geometry to satisfy state size constraints.
The maximized and fullscreen states disallow surface contents that are
larger than the configured size. However, if we have a larger surface,
and only part of the surface contains useful client data, we can inform
the compositor using xdg_surface_set_geometry, so that only the
specified region is considered for compositor-side positioning and
state constraints.

We use the geometry to support the presentation of windows that insist
on particular positions and sizes which may not match the compositor's
requested size (e.g., fullscreen but may overshoot a few pixels outside
the monitor boundary).
2023-10-13 17:50:03 +02:00
Alexandros Frantzis ab3d6d985d winewayland.drv: Handle application-initiated fullscreen state.
Detect when an window wants to become fullscreen and request the Wayland
fullscreen state from the compositor. The fullscreen state for windows
is inferred by their size and position relative to the monitor that
contains their largest region.

Since there is no explicit fullscreen state for windows, compositor
initiated fullscreen requests may lead to a size change, but will not
directly affect other aspects of the window state.
2023-10-13 17:50:02 +02:00
Alexandros Frantzis 8f0d3ec13d winewayland.drv: Store and use the latest window config for a wayland_surface.
Instead of querying the window config for a wayland_surface on demand,
query it and store it only when it is applied through SetWindowPos. In
addition to being more efficient, this prevents deadlocks by avoiding
calling NtUser functions that require the user lock, while holding
the window_surface lock.
2023-10-13 17:50:00 +02:00
Alexandros Frantzis 52decb1ca6 winewayland.drv: Handle xdg_toplevel tiled states.
Tiled states don't place strict constraints on the surface size, but
they indicate a strong size preference, so try to respect it.
2023-10-13 17:49:59 +02:00
Alexandros Frantzis e1222ac33a winewayland.drv: Respect the compositor requested surface config.
If we are processing a config request by the compositor, consider that
config as authoritative for the window. Otherwise use the window state
to determine the new Wayland state to apply.
2023-10-13 17:49:57 +02:00
Hans Leidekker 85844ff5b4 mmdevapi/tests: Relax a capture test. 2023-10-13 17:48:25 +02:00