Commit graph

164852 commits

Author SHA1 Message Date
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
Paul Gofman
71da110b46 wined3d: Use RB tree for storing lights. 2023-05-23 22:19:30 +02:00