Commit graph

164603 commits

Author SHA1 Message Date
Alexandre Julliard d84704192e ntdll: Add a separate helper function for freeing a placeholder. 2023-05-25 16:21:17 +02:00
Paul Gofman f99b972771 ntdll/tests: Add more tests for placeholders. 2023-05-25 16:21:17 +02:00
Paul Gofman 4142d1e049 ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtFreeVirtualMemory(). 2023-05-25 16:21:17 +02:00
Paul Gofman 04e2b02aa9 ntdll: Support MEM_REPLACE_PLACEHOLDER in NtAllocateVirtualMemoryEx(). 2023-05-25 16:21:17 +02:00
Paul Gofman b7ea896fdb ntdll: Support MEM_REPLACE_PLACEHOLDER in map_view(). 2023-05-25 16:21:17 +02:00
Paul Gofman 383d43d6cc ntdll: Support MEM_RESERVE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
Based on a patch by Nikolay Sivov.
2023-05-25 16:21:17 +02:00
Paul Gofman 9dd6a66060 ntdll: Pass allocation type to map_view().
Based on a patch by Nikolay Sivov.
2023-05-25 16:21:17 +02:00
Paul Gofman 376bd69c42 ntdll: Handle NULL process handle in MapViewOfFile3().
Based on a patch by Nikolay Sivov.
2023-05-25 16:21:17 +02:00
Gabriel Ivăncescu 35b198c561 mshtml: Stop the plugin when detaching the plugin host.
Otherwise Gecko keeps it running when it is created via put_classid, and
it leaks everything due to holding a ref to it.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-25 16:21:17 +02:00
Gabriel Ivăncescu 5c939222d3 mshtml: Release ref from the element when detaching the plugin host.
When the plugin host is created, its only ref is being held by the element
it is associated with.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-25 16:21:17 +02:00
Gabriel Ivăncescu 08dc691dfb mshtml: Explicitly hold ref to the plugin host in NPP_New.
Currently this worked by luck because it is leaking; the element holding
it never releases it.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2023-05-25 16:21:17 +02:00
Aurimas Fišeras baebde4b29 po: Update Lithuanian translation. 2023-05-25 11:04:30 +02:00
Alex Henrie 624b008f2e mshtml: Only allow one thread to use Gecko.
The new test doesn't pass, but it doesn't crash either, and that's
enough to fix the WinZip installer.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54071
2023-05-25 11:04:23 +02:00
Francois Gouget 5d516dd931 wininet/tests: Consistently use strlen() instead of lstrlenA(). 2023-05-25 11:04:10 +02:00
Francois Gouget a551821a4e wininet/tests: Consistently use strlen() in the InternetGetConnectedStateExA() tests. 2023-05-25 11:04:09 +02:00
Alex Henrie e7c6cdddf3 mshtml: Fix memory leak on error path in add_func_info (Coverity). 2023-05-25 11:04:06 +02:00
Tim Clem a001c0a030 wow64win: Only marshal MSGs in wow64_NtUserCallWindowsHook if needed.
lparam != 0 does not imply lparam_size is big enough for a MSG, so we
can end up manipulating memory past the end of the buffer.

Co-authored-by: Jacek Caban <jacek@codeweavers.com>
2023-05-25 11:03:58 +02:00
Alexandros Frantzis e10da7ab2e winewayland.drv: Update desktop window size on display changes.
Update the desktop window size to match the current virtual screen rect.
2023-05-24 22:20:14 +02:00
Alexandros Frantzis 82c6becb04 winewayland.drv: Update display devices from the desktop window thread.
Use a driver internal window message to dispatch updates to display devices from
the desktop window thread.
2023-05-24 22:20:12 +02:00
Alexandros Frantzis 1a336a259c winewayland.drv: Make access to Wayland output information thread-safe.
Store all incoming Wayland output state as pending and make it current
in a thread-safe way when the "done" event arrives. This enables other
threads, with proper locking, to safely read consistent and complete
Wayland output information.
2023-05-24 22:20:11 +02:00
Alexandros Frantzis 0031c3b46c winewayland.drv: Handle dynamic Wayland output events.
Handle Wayland output events sent after process initialization,
and update the win32u display devices when handling these
events in the desktop window process.
2023-05-24 22:20:09 +02:00
Alexandros Frantzis 4a69ec6f96 winewayland.drv: Read and dispatch Wayland events.
Create a dedicated thread from which we read and dispatch Wayland events
(beyond the initial ones).
2023-05-24 22:20:08 +02:00
Alexandros Frantzis e352fa19fa winewayland.drv: Allocate process_wayland statically.
There is currently no benefit to dynamic allocation, and static
allocation allows us to simplify some aspects of initialization.
2023-05-24 22:20:06 +02:00
Zebediah Figura 5eeed9ab26 mmdevapi/tests: Add some tests for PKEY_AudioEngine_DeviceFormat. 2023-05-24 21:08:32 +02:00
Zebediah Figura d41303b6d0 mmdevapi/tests: Run property store tests for all devices. 2023-05-24 21:08:32 +02:00
Zebediah Figura fd757e6ba4 mmdevapi/tests: Remove some unnecessary workarounds. 2023-05-24 21:08:32 +02:00
Paul Gofman 1ea5d470a2 nsiproxy.sys: Detect PPP interface type from flags on Linux.
VPN interfaces often have ARPHRD_NONE in ifr_hwaddr.sa_data
but IFF_POINTOPOINT flag set.
2023-05-24 21:08:32 +02:00
Davide Beatrici b87ee7d484 wineoss: Move stream mode and period/duration initialization logic into unixlib. 2023-05-24 21:08:32 +02:00
Davide Beatrici 396acb0ec3 winecoreaudio: Move stream mode and period/duration initialization logic into unixlib. 2023-05-24 21:08:32 +02:00
Davide Beatrici b08d7efa5e winealsa: Move stream mode and period/duration initialization logic into unixlib. 2023-05-24 21:08:32 +02:00
Anton Baskanov b923aea734 dsound: Clamp the shifted frequency to [DSBFREQUENCY_MIN, DSBFREQUENCY_MAX]. 2023-05-24 18:39:47 +02:00
Anton Baskanov 3d5f2f8796 dsound/tests: Test that the shifted frequency is limited to DSBFREQUENCY_MAX. 2023-05-24 18:39:47 +02:00
Anton Baskanov 315e998951 dsound: Limit the Doppler shift to +-0.5 speed of sound. 2023-05-24 18:39:47 +02:00
Anton Baskanov 8acc3b83e8 dsound/tests: Test that the Doppler shift is limited to +-0.5 speed of sound. 2023-05-24 18:39:47 +02:00
Anton Baskanov 81feccb7e3 dsound: Use relative velocity to compute Doppler shift.
It's less physically correct but closer to the native behavior.
2023-05-24 18:39:47 +02:00
Anton Baskanov 8c26e7e592 dsound/tests: Test Doppler shift with moving listener. 2023-05-24 18:39:47 +02:00
André Zwing dfe94187c0 winedump: Recognize RISC-V PEs. 2023-05-24 18:39:47 +02:00
Alexandre Julliard 0b23d22bd6 start: Implement the /machine option. 2023-05-24 15:43:54 +02:00
Alexandre Julliard 850e3bcc5d start: Use CRT allocation functions. 2023-05-24 15:43:54 +02:00
Alexandre Julliard df0483aa9b start: Add a separate helper to parse command line options. 2023-05-24 15:43:54 +02:00
Alexandre Julliard 4ae7de5bf7 start: Move memory allocation into parse_title(). 2023-05-24 15:43:54 +02:00
Alexandre Julliard d203af0fd7 kernelbase: Add support for the PROC_THREAD_ATTRIBUTE_MACHINE_TYPE attribute. 2023-05-24 15:43:54 +02:00
Alexandre Julliard ca7a7abe85 kernelbase: Add a helper function to validate process/thread attributes. 2023-05-24 15:43:54 +02:00
Alexandre Julliard 4356fe0d83 ntdll: Support the PS_ATTRIBUTE_MACHINE_TYPE attribute for new processes. 2023-05-24 15:43:54 +02:00
Alexandre Julliard bce5a7910e ntdll: Don't even try to load .so libraries for a different machine.
We are not going to support multi-machine .so modules.
2023-05-24 15:43:43 +02:00
Davide Beatrici f266dc094a explorer: Fix uninitialized variable warning.
programs/explorer/desktop.c:104:16: warning: ‘hres’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  104 |         return hres;
      |                ^~~~
2023-05-23 22:36:50 +02:00
Bartosz Kosiorek f898f206f6 gdiplus: Improve performance of DrawImagePointsRect by avoid TransformMatrixPoints.
Using TransformMatrixPoints is not needed and all values could
be taken from transformation matrix:
 - ShearX from m11, m12
 - ShearY from m21, m22
 - Translation mdx, mdy

The result could be calculated by taking destination points values:
 {{0.0, 0.0}, {1.0, 0.0}, {0.0, 1.0}}

and calculating it with GdipTransformMatrixPoints function:
  dst_to_src_points[0].X = dst_to_src.matrix[4];
  dst_to_src_points[0].Y = dst_to_src.matrix[5];
  dst_to_src_points[1].X = dst_to_src.matrix[0] + dst_to_src.matrix[4];
  dst_to_src_points[1].Y = dst_to_src.matrix[1] + dst_to_src.matrix[5];
  dst_to_src_points[2].X = dst_to_src.matrix[2] + dst_to_src.matrix[4];
  dst_to_src_points[2].Y = dst_to_src.matrix[3] + dst_to_src.matrix[5];
2023-05-23 22:19:30 +02:00
Bartosz Kosiorek 382603afa7 gdiplus: Use float increment instead of calculation to impove perf.
Improves efficiency by using addition instead of float numbers
multiplication for destination points.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-23 22:19:30 +02:00
Bartosz Kosiorek 9705fbd493 gdiplus: Use iterator instead calculate pointer position every time.
With previous implementation, every iteration pointer value was
calculated by taking row and column of the image.
It needs multiply calculation. With current implementation,
pointer value calculation, is replaced with iterator, which takes
next pixel data.

It improves efficiency by using addition instead of multiplication
for iterating through points data.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-23 22:19:30 +02:00
Bartosz Kosiorek 66ebf9169e gdiplus: Limit calculating transformation points to resampling.
Calculating transformation points and not using it it is a waste
of CPU time. With this patch the code was moved where it is used.
It is improving performance of GdipDrawImagePointsRect when
resampling is not needed.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2023-05-23 22:19:30 +02:00