On Tue Mar 11 09:22:36 2025 +0000, Rémi Bernon wrote:
> Do we really need to call back into wineserver? Seems unfortunate, maybe
> there's a better way?
I don't see how to avoid that in principle?
- the logic is triggered by calling DefWindowProc, so we can't avoid some action from DefWindowProc;
- after WM_POINTERUPDATE with changing coordinates the messages should be generated (and, separately, updating cursor position) regardless of DefWindowProc calls; also generating that in DefWindowProc ever is clumsy because NtUserSendHardwareInput() can't generate the exact message we need, that would need some custom interface (and won't avoid a server call to send message anyway);
- we could in principle stop sending those `track_mouse_from_pointer` calls once the tracking switched to server side (by returning the corresponding flag from this call and tracking this part of state in thread data), but we also want to update driver cursor position which seems to cope nicely with this call, in that case it would need to be done in some other more complicated ways. So reducing the amount of those calls (by not sending them once server tracking started) is possible but it will require these parts. I thought it doesn't add too much of calls, do you think it worth it?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7530#note_97421
On Tue Mar 11 09:22:36 2025 +0000, Rémi Bernon wrote:
> This changes always_queue from 0 to 1, is it intentional?
This is intentional because all the tracking and logic is to be done in the new track_mouse_message_from_pointer(), in a view of that some logic to skip mouse message generation in queue_hardware_message() looks misleading as best. But it doesn't belong to this patch actually, I am moving this change to the patch where track_mouse_message_from_pointer() is introduced.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7530#note_97420
This MR adds an initial implementation of the winsock `WSALookupsService*` methods for performing Bluetooth device discovery (`LUP_CONTAINERS`).
Pending !7472, the code will also eventually support performing device inquiry scans.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7542
This patch series implements `ID3DXEffect::SetRawValue()` for the simplest cases, which are vec4s and matrix 4x4s.
--
v2: d3dx9: Fixup return values for D3DXPT_BOOL parameters in ID3DXEffect::GetValue().
d3dx9: Add support for setting 4x4 matrices in ID3DXEffect::SetRawValue().
d3dx9: Partially implement ID3DXEffect::SetRawValue().
d3dx9/tests: Add tests for ID3DXEffect::SetRawValue().
https://gitlab.winehq.org/wine/wine/-/merge_requests/7505
--
v2: ntdll: Do not fail NtCreateUserProcess() if requested access doesn't have PROCESS_CREATE_THREAD.
ntdll/tests: Test NtCreateUserProcess() with limited access rights.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7517