Commit graph

162616 commits

Author SHA1 Message Date
Piotr Caban 2bfe9ce883 wineps: Remove no longer used output parameter handling from PSDRV_CreateDC.
We're storing it now in DC attributes.
2023-02-21 18:43:43 +01:00
Piotr Caban 4a8cdc2b49 winspool: Fix FILE: output handling in StartDocDlgW. 2023-02-21 18:43:43 +01:00
Alexandros Frantzis 6d2bd75c4a win32u: Reset draw_start_ticks for new window_surface.
Normally, a new window_surface has no damage so its draw_start_ticks
value is reset at the time of the first lock_surface.

However, if contents from the old window_surface are copied to the new
one when the window_surface for a window is updated, the new
window_surface will be initially damaged. We want to reset the
draw_start_ticks value in this case too, to avoid flushes occuring soon
after such updates, during the initial redraw of the window_surface.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-02-21 11:22:47 +01:00
Alexandros Frantzis aa72d7d42d gdi32: Track ticks since draw start per window_surface.
Track ticks since draw start per window_surface, instead of per DC as is
currently the case. This change helps reduce visual glitches caused by
badly timed flushes when drawing to the same window_surface from
multiple DCs (e.g., for child windows).

This approach is a better fit for the current heuristic for forcing
flushing, which consults the shared window_surface bounds to decide
whether this is the start of a draw in order to reset the (currently per
DC) draw start time.

The problem in the current implementation occurs when a drawing to a DC
begins with an already damaged window_surface, e.g., due to draws from
other DCs targeting that window_surface. In such a case, the DC draw
start time is not reset and refers to the start of some previous draw
sequence using this DC, thus increasing the chances that the 50ms time
flush limit will be eventually exceeded in the middle of the current
draw sequence. In other words, the state of the (shared) window_surface
damage is not a reliable indicator of the beginning (or not) of a draw
to a DC.

An example, assuming DC1 and DC2 target the same window_surface:

DC1.start_ticks = 0
DC2.start_ticks = 0
FLUSH_PERIOD = 50

0 flush
1 draw to DC1 -> DC1.start_ticks = 1
... [no flush] ...
2 draw to DC2 -> DC2.start_ticks remains 0 since surface is damaged
...
50 flush
51 draw to DC1 -> DC1.start_ticks = 51
... [no flush] ...
52 draw to DC2 -> DC2.start_ticks remains 0 since surface is damaged,
                  current - DC2.start_ticks > FLUSH_PERIOD so we are
                  forced to flush in the middle of the drawing
                  sequence => potential glitch

Tracking the draw start per window_surface ameliorates the problem
because the beginning of a draw on a DC targeting an undamaged
window_surface resets the start time for all DCs targeting that
window_surface:

...
50 flush
51 draw to DC1 -> surface.draw_ticks = 51
... [no flush] ...
52 draw to DC2 -> surface.draw_ticks remains 51 since surface is damaged,
                  but current - surface.draw_ticks < FLUSH_PERIOD, so we
                  do not flush

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-02-21 11:22:45 +01:00
Mohamad Al-Jaf c9285f324b bluetoothapis: Add BluetoothUnregisterAuthentication stub. 2023-02-21 11:22:35 +01:00
Mohamad Al-Jaf f74c0f4c78 bluetoothapis: Add BluetoothRegisterForAuthenticationEx stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54112
2023-02-21 11:22:34 +01:00
Mohamad Al-Jaf 5d2051eb64 include: Add BluetoothRegisterForAuthenticationEx prototype. 2023-02-21 11:22:34 +01:00
Mohamad Al-Jaf a700b62089 bthprops.cpl: Move implementations to bluetoothapis and import them. 2023-02-21 11:22:30 +01:00
Alistair Leslie-Hughes e5b1ddeab3 msado15: Support "Optimize" in Properties get_Item.
The Optimize property tells msado15 to create index maps
for lookups in Recordset Find.  Just store the value for
now until Find is implemented.
2023-02-21 11:21:27 +01:00
Paul Gofman 74240a3545 server: Set TCP SYN count on sockets. 2023-02-21 11:21:27 +01:00
Paul Gofman 4e6a5d62ad server: Retry socket connection on ECONNABORTED error. 2023-02-21 11:21:05 +01:00
David Gow fe9a1403fa dxgi: Don't warn on DXGI_ALPHA_MODE_UNSPECIFIED with wined3d. 2023-02-21 11:19:28 +01:00
Alexandre Julliard 89bb2622d2 kernelbase: Set ERROR_ALREADY_EXISTS for existing pipe in CreateNamedPipeW().
Reported by Dávid Török.
2023-02-21 11:18:13 +01:00
Alexandre Julliard 1b9db99417 ntdll: Return the correct IOSB information when creating a named pipe. 2023-02-21 11:17:17 +01:00
Alexandre Julliard d74b084e45 ntdll: Pass the NtCreateNamedPipeFile disposition to the server. 2023-02-21 10:48:16 +01:00
Francois Gouget 2436964d56 gdi32/tests: Mark a couple other D3DKMTCheckOcclusion() tests as flaky.
They also happen randomly on Windows (see commit 2d19baa6b5).

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51313
2023-02-20 23:00:34 +01:00
Eric Pouech 417d2c0235 include: Ensure that SymRefreshModuleList() is properly defined.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-20 23:00:33 +01:00
Eric Pouech e138361f48 dbghelp/tests: Test that overlapped module is really unloaded.
(and not just modified in place).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-20 23:00:33 +01:00
Zebediah Figura 80581c608c Revert "ntoskrnl.exe: Enforce path case in WM_DEVICECHANGE notifications.".
This reverts commit c489356d0b.
2023-02-20 23:00:33 +01:00
Zebediah Figura f745900a4b ntoskrnl: Preserve the device instance ID case in IoRegisterDeviceInterface(). 2023-02-20 23:00:33 +01:00
Zebediah Figura 297e4ae76b ntoskrnl/tests: Expand tests for device and interface naming. 2023-02-20 23:00:33 +01:00
Zebediah Figura d05b88dd88 user32: Map DEV_BROADCAST_DEVICEINTERFACE to ANSI for registered device notifications. 2023-02-20 23:00:33 +01:00
Zhiyi Zhang 9833695855 include: Add dcomp.idl.
Note that overloaded C++ methods are renamed to avoid conflicts.
2023-02-20 23:00:33 +01:00
Zhiyi Zhang c10568fc31 include: Add dcompanimation.idl. 2023-02-20 23:00:33 +01:00
Zhiyi Zhang 74e6345712 include: Add dcomptypes.idl. 2023-02-20 23:00:33 +01:00
Zhiyi Zhang 58427faace include: Add DirectComposition error codes. 2023-02-20 23:00:33 +01:00
Alexandre Julliard f4c3801495 include: Move __builtin_ms_va_list definitions to vadefs.h. 2023-02-20 08:41:45 +01:00
Alexandre Julliard 297f7cb37e winefile: Use standard va_list instead of __ms_va_list. 2023-02-20 08:40:27 +01:00
Alexandre Julliard dbfeb4b7f4 taskmgr: Use standard va_list instead of __ms_va_list. 2023-02-20 08:40:14 +01:00
Alexandre Julliard b19d3e779b start: Use standard va_list instead of __ms_va_list. 2023-02-20 08:40:02 +01:00
Alexandre Julliard d244f902b3 oleview: Use standard va_list instead of __ms_va_list. 2023-02-20 08:39:42 +01:00
Alexandre Julliard e1f1846611 notepad: Use standard va_list instead of __ms_va_list. 2023-02-20 08:39:31 +01:00
Alexandre Julliard 9efe1a32a2 conhost: Use standard va_list instead of __ms_va_list. 2023-02-20 08:39:18 +01:00
Francois Gouget ad30e4f9ba jsproxy/tests: Add more tests for InternetGetProxyInfo()'s length parameter. 2023-02-20 08:38:26 +01:00
Francois Gouget 00b6ce35bf jsproxy/tests: InternetInitializeAutoProxyDll() is no longer supported on Windows 11.
The same goes for InternetGetProxyInfo(). They seem to have been
replaced with stubs that fail but don't bother setting the error code.
So just skip the tests when that happens.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54531
2023-02-20 08:38:21 +01:00
Alistair Leslie-Hughes 493751197d msado15: Field ActualSize return a default size. 2023-02-20 08:38:13 +01:00
Alistair Leslie-Hughes 669107f6c5 msado15: Semi-stub _Recordset get/put Filter. 2023-02-20 08:37:38 +01:00
Connor McAdams 6254f6635c uiautomationcore: Implement IUIAutomationElement::GetCurrentPropertyValueEx.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-20 08:37:24 +01:00
Connor McAdams 2d8bf67b90 uiautomationcore: Implement IUIAutomation::ElementFromHandle.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-20 08:37:24 +01:00
Connor McAdams e8dd3adae7 uiautomationcore: Add stub IUIAutomation implementation.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-20 08:37:23 +01:00
Connor McAdams 88a1e94971 uiautomationcore: Register all UI Automation typelibs.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-20 08:37:21 +01:00
Alexandre Julliard 464be65cee Release 8.2. 2023-02-17 21:32:47 +01:00
Francois Gouget a5c007df2d ws2_32: Warn that a libnss plugin may be missing if getaddrinfo() returns EBUSY. 2023-02-17 18:59:29 +01:00
Eric Pouech 89d42d64d7 ntdll: Implement RtlAddressInSectionTable.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54432
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-17 18:59:29 +01:00
Francois Gouget c2d9e92374 ntdll: Use the thread pool stack information. 2023-02-17 18:59:29 +01:00
Francois Gouget 710ae2928e ntdll/tests: Test the thread pool stack APIs. 2023-02-17 18:59:29 +01:00
Francois Gouget 41a53f535f user32/tests: Show ToAscii(A) returns 'a' for multiple keyboard layouts.
Not all layouts return 'a' but layouts like Azerty still return 'a'
despite the A and Q keys being swapped.
2023-02-17 18:59:29 +01:00
Francois Gouget df811f91cc user32/tests: Fix the ToAscii(A) test on Hindi + UTF-8.
ToAscii() can only return two bytes and thus cannot return three-byte
UTF-8 characters.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=54058
2023-02-17 18:59:29 +01:00
Francois Gouget dfcc45cc17 winetest: Trace the keyboard layout.
It is important for the input tests so add it to the global locale
information.
2023-02-17 18:59:29 +01:00
Eric Pouech 32bc569520 dbghelp: Unload overlapping modules in SymLoadModule*().
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-17 18:59:29 +01:00