Supersedes !7928 with some test tweaks:
* Test that shutdown waits for any queued handler,
* Use message loop only when necessary (DQTYPE_THREAD_CURRENT),
* Remove some non-deterministic refcount checks after shutdown, as dispatch thread might still hold some until it exits.
--
v2: coremessaging: Partially implement CreateDispatcherQueueController().
coremessaging/tests: Add CreateDispatcherQueueController() tests.
coremessaging/tests: Add IDispatcherQueueControllerStatics::CreateOnDedicatedThread() tests.
coremessaging: Add IDispatcherQueueControllerStatics stub.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8055
Please see: https://marc.info/?l=wine-devel&m=174715050805731 as well as the commit messages for more information.
--
v4: ntdll: Report more info about heap problems detected by ASan.
ntdll: Show (partial) stack trace in ASan reports.
ntdll: Add heap quarantine for ASan.
ntdll: Add asan poisoning and redzoning to heap allocator
ntdll: Implement ASan fake stack.
ntdll: Don't use address of local variables as the frame address.
ntdll: During unwind, also check if frame is on fake stack.
ntdll: Implement __asan_{un,}poison_memory_region.
ntdll: Make sure to not write into poisoned memory in KeUserModeCallback.
ntdll: Implement __asan_set_shadow_*.
ntdll: Implement reporting of ASan errors.
ntdll: Implement __asan_{memory,region}_is_poisoned.
ntdll: Implement __asan_{un,}poison_stack_memory.
ntdll: Unpoison stack in __asan_handle_no_return.
ntdll: Add API for checking whether address is in fake stack frame.
kernel32: Check for poison in LocalLock if ASan is enabled.
kernel32: Fix ASan reports in IsBad*
ntdll: Call __asan_handle_no_return in RtlRestoreContext.
makedep: Support sanitizer flags.
asan_dynamic_thunk: Add ASan dynamic thunk for DLLs.
ntdll: Add stub ASan runtime.
loader: Disable sanitization.
configure: Check for sanitizer support.
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8026
This fixes an issue seen with Steam, which calls `WinHttpGetProxyForUrl()` before pinging WebSocket servers to determine which has the lowest latency. The `WinHttpGetProxyForUrl()`/`WinHttpDetectAutoProxyConfigUrl()` call seems to be included in the timing, and `WinHttpDetectAutoProxyConfigUrl()` taking too long can cause the ping to time out/fail.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8049
First push with null patch, to get current gitlab runner result in [pipeline #42287](https://gitlab.winehq.org/bernhardu/wine/-/pipelines/42287).
Unfortunately, did not fail this time.
Older examples are:
- [job #157583](https://gitlab.winehq.org/wine/wine/-/jobs/157583#L2282)
- [job #157314](https://gitlab.winehq.org/wine/wine/-/jobs/157314#L1957)
- [job #157131](https://gitlab.winehq.org/wine/wine/-/jobs/157131#L2052)
- [job #157068](https://gitlab.winehq.org/wine/wine/-/jobs/157068#L1955)
- [job #157032](https://gitlab.winehq.org/wine/wine/-/jobs/157032#L2150)
- [job #156785](https://gitlab.winehq.org/wine/wine/-/jobs/156785#L2112)
- [job #156713](https://gitlab.winehq.org/wine/wine/-/jobs/156713#L2048)
- [job 156677#](https://gitlab.winehq.org/wine/wine/-/jobs/156677#L2030)
So happens just a few times per day.
The value -1073741510 in `timeout.exe:timeout:06b4 done (-1073741510) in 5s 177B` equals to 0xC000013A, STATUS_CONTROL_C_EXIT. Therefore the assumption the ctrl-c from the test reaches sometimes the parent process.
With the patch activated, this [pipeline #42291](https://gitlab.winehq.org/bernhardu/wine/-/pipelines/42291).
--
v4: timeout/tests: Move the ctrl-c test below a intermediate process.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8051
Please see: https://marc.info/?l=wine-devel&m=174715050805731 as well as the commit messages for more information.
--
v3: ntdll: Report more info about heap problems detected by ASan.
ntdll: Show (partial) stack trace in ASan reports.
ntdll: Add heap quarantine for ASan.
ntdll: Add asan poisoning and redzoning to heap allocator
ntdll: Implement ASan fake stack.
ntdll: Don't use address of local variables as the frame address.
ntdll: During unwind, also check if frame is on fake stack.
ntdll: Implement __asan_{un,}poison_memory_region.
ntdll: Make sure to not write into poisoned memory in KeUserModeCallback.
ntdll: Implement reporting of ASan errors.
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8026
This MR modifies winegstreamer to match Windows behaviour in that:
1. the video decoders will output the PTS and duration of the input sample (if provided); and
2. the WMV decoder will set any value not provided to zero
It also adds support for supplying a DTS value to the MFTs.
I've marked this as draft as it fixes the tests in MR !7563 (in addition to fixing some existing `test_wmv_decoder` tests). Also, as demonstrated in MR !7569, our demuxers output different timestamps to Windows. This change will result in those different timestamps being forwarded from the decoder. So we may also want to address that difference prior to accepting this MR.
--
v9: winegstreamer: Use provided PTS and duration in video_decoder.
mf/tests: Add negative timestamp tests for h264.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7623
First push with null patch, to get current gitlab runner result in [pipeline #42287](https://gitlab.winehq.org/bernhardu/wine/-/pipelines/42287).
Unfortunately, did not fail this time.
Older examples are:
- [job #157583](https://gitlab.winehq.org/wine/wine/-/jobs/157583#L2282)
- [job #157314](https://gitlab.winehq.org/wine/wine/-/jobs/157314#L1957)
- [job #157131](https://gitlab.winehq.org/wine/wine/-/jobs/157131#L2052)
- [job #157068](https://gitlab.winehq.org/wine/wine/-/jobs/157068#L1955)
- [job #157032](https://gitlab.winehq.org/wine/wine/-/jobs/157032#L2150)
- [job #156785](https://gitlab.winehq.org/wine/wine/-/jobs/156785#L2112)
- [job #156713](https://gitlab.winehq.org/wine/wine/-/jobs/156713#L2048)
- [job 156677#](https://gitlab.winehq.org/wine/wine/-/jobs/156677#L2030)
So happens just a few times per day.
The value -1073741510 in `timeout.exe:timeout:06b4 done (-1073741510) in 5s 177B` equals to 0xC000013A, STATUS_CONTROL_C_EXIT. Therefore the assumption the ctrl-c from the test reaches sometimes the parent process.
With the patch activated, this [pipeline #42291](https://gitlab.winehq.org/bernhardu/wine/-/pipelines/42291).
--
v3: TEMP: gitlab: Just run timeout.exe with test-linux-32.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8051
In service processes, `get_desktop_window` only creates a fake window
owned by the first calling thread, with only a handle and no client-side
object.
Before 9d6455f91cb7a7d166d5c4708d528b43a63eb4d7 `get_window_thread` was
returning an error (called from `send_message` > `process_message`) in
that case, as client-side object is missing.
After the commit, we only check handle existence and we now return
success and then try to send/process the desktop window message, waiting
for explorer startup which never happens.
Fixes: 9d6455f91cb7a7d166d5c4708d528b43a63eb4d7
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8046
These patches fix painting in an application that draws outside of a CS_PARENTDC child
client area in its WM_PAINT handler.
Comments and suggestions are welcome.
--
v5: win32u: Don't clip update region to the window client rectangle.
win32u: GetUpdateRect() should clip update rectangle to the window client area.
win32u: GetUpdateRgn() should clip update region to the window client area.
win32u: Clip PAINTSTRUCT.rcPaint to the window client area.
server: Don't generate WM_PAINT messages for minimized windows.
server: For a CS_PARENTDC child use parent for visible region calculations.
server: If the being validated region covers whole window then validate everything.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5665
Supersedes !7928 with some test tweaks:
* Test that shutdown waits for any queued handler,
* Use message loop only when necessary (DQTYPE_THREAD_CURRENT),
* Remove some non-deterministic refcount checks after shutdown, as dispatch thread might still hold some until it exits.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8055
First push with null patch, to get current gitlab runner result in [#42287](https://gitlab.winehq.org/bernhardu/wine/-/pipelines/42287).
--
v2: timeout/tests: Ignore ctrl-c in the parent process.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8051
Main goal of this serie is to load compilands on demand.
It mainly adds methods to ensure that relevant compiland
is loaded when needed, then fallbacks to using loaded
symt.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8052