Making all the windows handled by the driver to be either GL/VK client surfaces, or top-level windows. This avoids leaking host windows into the Win32 space, and makes it possible to get rid of some remaining NtUserMapWindowPoints in `map_event_coords` for mouse input.
--
v3: winex11: Get rid of the now unnecessary foreign windows.
winex11: Generate relative ConfigureNotify on parent ConfigureNotify events.
winex11: Use the new host windows to register foreign window events.
winex11: Keep track of the host windows children window rects.
winex11: Keep track of the host windows relative rects.
winex11: Keep track of the host window children of interest.
winex11: Create host windows recursively up to root_window.
winex11: Introduce a new struct host_window for host-only windows.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6649
Making all the windows handled by the driver to be either GL/VK client surfaces, or top-level windows. This avoids leaking host windows into the Win32 space, and makes it possible to get rid of some remaining NtUserMapWindowPoints in `map_event_coords` for mouse input.
--
v2: winex11: Get rid of the now unnecessary foreign windows.
winex11: Generate relative ConfigureNotify on parent ConfigureNotify events.
winex11: Use the new host windows to register foreign window events.
winex11: Keep track of the host windows children window rects.
winex11: Keep track of the host windows relative rects.
winex11: Keep track of the host window children of interest.
winex11: Create host windows recursively up to root_window.
winex11: Introduce a new struct host_window for host-only windows.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6649
This is based on top of !6526, will mark ready after !6526 is merged.
--
v3: propsys: Support converting to BSTR for PropVariantToVariant.
propsys: Use debugstr_variant for the trace in VariantToPropVariant.
propsys: Implement PropVariantToBSTR.
propsys/tests: Test truncating for PropVariantToString.
propsys/tests: Test PropVariantToBSTR.
propsys: Add PropVariantToBSTR stub.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6640
The EnumAddressTypes tests wasn't actually calling the enum function.
The code within the test_EnumAddressTypes function appear to be
setup for calling EnumAddresses, so added a test for this scenario as well.
--
v2: dplayx/tests: Correct Enum tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6646
This fixes a stack overflow in Helicon Focus 8.2.0,
which was introduced by b5cbb556.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57293
I'm unsure if this is actually the proper way to approach this problem, since an application being so close to a stack overflow that an allocation of wchar_t[MAX_PATH] (=260*2 bytes) is making the difference between crashing and not crashing might be an issue in itself.
However, the crash was introduced by adding this allocation (or rather, changing the condition for it to happen) in previous commit, so for now I think the proper solution would be to move it to the heap instead.
--
v2: comdlg32: Allocate extbuf on heap rather than stack.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6650
This fixes a stack overflow in Helicon Focus 8.2.0,
which was introduced by b5cbb556.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57293
I'm unsure if this is actually the proper way to approach this problem, since an application being so close to a stack overflow that an allocation of wchar_t[MAX_PATH] (=260*2 bytes) is making the difference between crashing and not crashing might be an issue in itself.
However, the crash was introduced by adding this allocation (or rather, changing the condition for it to happen) in previous commit, so for now I think the proper solution would be to move it to the heap instead.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6650
--
v4: jscript: Allow ES5 keywords as identifiers in expressions.
jscript: Allow ES5 keywords as identifiers in labelled statements.
jscript: Allow ES5 keywords as identifiers in function parameter lists.
jscript: Allow ES5 keywords as identifiers in function expressions.
jscript: Allow ES5 keywords as identifiers in catch statements.
jscript: Allow ES5 keywords as identifiers in variable declarations.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6618
Making all the windows handled by the driver to be either GL/VK client surfaces, or top-level windows. This avoids leaking host windows into the Win32 space, and makes it possible to get rid of some remaining NtUserMapWindowPoints in `map_event_coords` for mouse input.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6649
This is based on top of !6526, will mark ready after !6526 is merged.
--
v2: propsys: Support converting to BSTR for PropVariantToVariant.
propsys: Fix a crash in tracing for VariantToPropVariant.
propsys: Implement PropVariantToBSTR.
propsys: Use msvcrt wide string functions.
propsys/tests: Test truncating for PropVariantToString.
propsys/tests: Test PropVariantToBSTR.
propsys: Add PropVariantToBSTR stub.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6640
--
v4: shlwapi: Use printf implementation from ntdll.
ntdll: Make 'h' take precedence over 'l' in pf_vsnprintf().
ntdll: Make 'l' modifier also affect char wideness.
ntdll: Output unrecognized format symbol in pf_vsnprintf().
ntdll: Fix passing char argument to pf_handle_string_format().
ntdll/tests: Add more tests for printf format.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6639
The EnumAddressTypes tests wasn't actually calling the enum function.
The code within the test_EnumAddressTypes function appear to be
setup for calling EnumAddresses, so added a test for this scenario as well.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6646
--
v3: jscript: Allow ES5 keywords as identifiers in expressions.
jscript: Allow ES5 keywords as identifiers in labelled statements.
jscript: Allow ES5 keywords as identifiers in function parameter lists.
jscript: Allow ES5 keywords as identifiers in function expressions.
jscript: Allow ES5 keywords as identifiers in catch statements.
jscript: Allow ES5 keywords as identifiers in variable declarations.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6618
This MR is the first of at least three MRs adding support for the Bluetooth stack API in Wine:
1. The winebth.sys driver, which talks to BlueZ and implements several key IOCTLs for communicating with Bluetooth devices and radios.
2. A bthserv service, which is responsible for keeping track of the authentication agent, and relaying authentication requests and responses to and from the driver.
3. Userspace APIs (bluetoothapis.dll, bthprops.cpl, Windows.Devices.Bluetooth, etc).
winebth.sys is split into two "sub" drivers:
`winebth.sys`: The main entrypoint, loaded by winedevice. It listens for changes to Bluetooth devices and radios and authentication events on BlueZ, passing them on the bthenum. It also handles most IOCTL operations on Bluetooth radio PDOs.
`bthenum`: Responsible for creating nodes for discovered Bluetooth devices and associated services. It also tries to validate any IOCTLs relating to bluetooth devices before passing them to winebth.sys.
The unix code is split between dbus.c, unixlib.c and winebluetooth.c, where winebluetooth is a simple wrapper around unixlib for the sake of organization.
--
v10: dlls/winebth.sys: Implement IOCTL command IOCTL_BTH_DISCONNECT_DEVICE.
dlls/winebth.sys: Add support for RequestAuthorization requests from BlueZ.
dlls/winebth.sys: Add support for RequestPasskey requests from BlueZ.
dlls/winebth.sys: Add support for DisplayPasskey requests from BlueZ.
dlls/winebth.sys: Add support for AuthorizeService requests from BlueZ.
dlls/winebth.sys: Add support for DisplayPinCode requests from BlueZ.
dlls/winebth.sys: Add support for RequestPinCode requests from BlueZ.
dlls/winebth.sys: Add support for RequestConfirmation requests from BlueZ.
dlls/winebth.sys: Implement IOCTL_WINEBTH_SEND_AUTH_RESPONSE.
dlls/winebth.sys: Add IOCTLs IOCTL_WINEBTH_START_AUTH_AGENT and IOCTL_WINEBTH_STOP_AUTH_AGENT.
dlls/winebth.sys: Add support for BLUETOOTH_RADIO_IN_RANGE events (WM_DEVICECHANGE).
dlls/winebth.sys: Implement IOCTL commands IOCTL_WINEBTH_RADIO_SET_FLAG and IOCTL_WINEBTH_RADIO_UNSET_FLAG.
dlls/winebth.sys: Implement IOCTL commands IOCTL_WINEBTH_RADIO_START_DISCOVERY and IOCTL_WINEBTH_RADIO_STOP_DISCOVERY.
dlls/winebth.sys: Implement IOCTL_BTH_GET_LOCAL_INFO for radio devices.
dlls/winebth.sys: Create PDOs for Bluetooth services discovered on remote devices.
dlls/winebth.sys: Implement IOCTL_BTH_GET_DEVICE_INFO.
dlls/winebth.sys: Update device PDO properties on receiving PropertiesChanged for an org.bluez.Device1 object.
dlls/winebth.sys: Set device PDO properties from the device's corresponding org.bluez.Device1 object properties.
dlls/winebth.sys: Remove the corresponding device PDO on receiving InterfacesRemoved for an org.bluez.Device1 object.
dlls/winebth.sys: Create PDOs for newly discovered org.bluez.Device1 objects.
dlls/winebth.sys: Update radio PDO properties on receiving PropertiesChanged for an org.bluez.Adapter1 object.
dlls/winebth.sys: Remove the corresponding radio PDO on receiving InterfacesRemoved for a org.bluez.Adapter1 object.
dlls/winebth.sys: Create new radio PDOs on receiving InterfacesAdded for objects that implement org.bluez.Adapter1.
dlls/winebth.sys: Set radio PDO properties from the device's corresponding org.bluez.Adapter1 object properties.
dlls/winebth.sys: Register and enable BTHPORT_DEVICE and BLUETOOTH_RADIO interfaces for radio PDOs.
dlls/winebth.sys: Derive a unique hardware ID for radio PDOs from their corresponding BlueZ object path.
dlls/winebth.sys: Create radio PDOs from the list of org.bluez.Adapter1 objects on BlueZ.
dlls/winebth.sys: Add a basic unixlib stub using DBus.
dlls/winebth.sys: Add base winebth.sys driver.
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/6621
--
v4: win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserQueryDisplayConfig().
win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserGetDisplayConfigBufferSizes().
user32/tests: Add tests for QueryDisplayConfig( QDC_VIRTUAL_MODE_AWARE ).
https://gitlab.winehq.org/wine/wine/-/merge_requests/6603