Fix the wayland side of https://bugs.winehq.org/show_bug.cgi?id=55336
### Exit menu key by default:
That's the actual behavior, any non-special key will exit the menu key, and be sent to the client.
I was also wondering if we should add `menu_sys_key = f10_key = 0;` when receiving a `WM_ACTIVATE` in `win32u/defwnd.c`'s `default_window_proc` but I guess not ?
### Fix repeated key for no reason:
For some reason when ALT is pressed, it is spammed and thus spams SYS_COMMAND. This fix that, but I don't know what I am doing here. I don't see any repeating key spamming with winex11 but I could be wrong. However alt/SYS_COMMAND should not be repeated.
That wasn't happening with winex11.drv.
### Fix release_all_keys modifier filtering:
That was the main reason why alt-tab leads to the menu key, NtUserGetAsyncKeyboardState also uses left and right system keys.
### Fix release_all_keys scan value:
This one is wrong, a failed attempt. The actual problem is that NtUserGetAsyncKeyboardState limits itself to 256 virtual keys, discarding the extended scan code info. So it results on my down arrow being kept repeated while being focused out, and when focused in, pressing the arrow again is needed to stop the repeat.
Also using the KEYEVENTF_SCANCODE flag results in win32u/message.c's send_hardware_message calling NtUserGetKeyboardLayout which get a incorect hkl value but it doesn't seems to have an impact.
--
v3: winewayland.drv: Fix release_all_keys modifier filtering
server: Fix repeated key for no reason
win32u: Exit menu key by default
https://gitlab.winehq.org/wine/wine/-/merge_requests/6199
--
v2: dplayx: Set player data in DP_CreatePlayer().
dplayx: Add player to the system group in DP_CreatePlayer().
dplayx: Don't enumerate system players.
dplayx/tests: Test that players from SUPERENUMPLAYERSREPLY are added to the session.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6575
--
v5: winewayland: Use subsurfaces for unmanaged windows.
winewayland: Introduce a new update_wayland_surface_state_toplevel helper.
winewayland: Introduce a new wayland_surface_reconfigure_xdg helper.
winewayland: Introduce a new wayland_surface role enumeration.
winewayland: Call wayland_surface_clear_role in wayland_surface_destroy.
winewayland: Move surface title change to wayland_surface_make_toplevel.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6560
On Sat Sep 21 20:51:46 2024 +0000, Philipp Knechtges wrote:
> TBH, I do not really know what to make of this assessment. Looking at
> the d2d1 tests it feels like, correctness is at best achieved
> approximately, and then the question arises what is the metric in which
> "correctness" is assessed? Unarguably, the tests as a metric are a
> moving target, depending on when which tests are added, thus making it a
> subjective choice at times.
> In my book, the patch at hand makes the rendering more correct in many
> cases. To be precise in all cases in which the individual geometries in
> the geometry group do not intersect, and thus the fill mode does not
> matter. Would you consider the patch sufficient, if it would
> (approximately) check for intersections and only copy if there are none,
> and falling back to old behavior (rendering just nothing) in case there
> are any (potentially false-positive) intersections?
It wouldn't consider it sufficient, it's clear that there is more to it than copying data from individual geometries. So the question is the same - what needs to be done to make it work properly, once it's understood, we could implement it partially if it's too hard to do properly.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6492#note_83622
--
v3: propsys: Initially implement PropVariantToVariant.
propsys: Support converting clsid to string for PropVariant.
propsys/tests: Test converting clsid to string.
propsys/tests: Add tests for PropVariantToVariant.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6526
This MR adds a unixlib component to wlanapi containing DBus + NetworkManager implementations for
* WlanEnumInterfaces
* WlanGetAvailableNetworkList
* WlanGetAvailableNetworkList
* WlanGetNetworkBssList
* WlanScan
--
v11: wlanapi: Add NetworkManager backed implementation for WlanGetProfileList.
wlanapi/tests: Add unit tests for WlanGetProfileList.
wlanapi: Add stub for WlanGetProfileList.
wlanapi: Add NetworkManager backed implementation for WlanScan.
wlanapi/tests: Add unit tests for WlanScan.
wlanapi: Add NetworkManager backed implementation for WlanGetNetworkBssList.
wlanapi/tests: Add unit test for test_WlanGetNetworkBssList.
wlanapi: Add stub for WlanGetNetworkBssList.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6505
--
v4: server: Eliminate async_alerted() helper function.
server: Eliminate async_unknown_status() helper function.
server: Remove "unknown_status" field from struct async.
server: Remove "alerted" field from struct async.
server: Remove "terminated" field from struct async.
server: Remove "signaled" field from struct async.
server: Remove "direct_result" field from struct async.
server: Signal async unconditionally in async_set_result().
server: Introduce a new async state enum.
server: Introduce async_unknown_status() helper to compute the 'unknown_status' flag.
server: Introduce async_alerted() helper to compute the 'alerted' flag.
server: Introduce async_terminated() helper to compute the 'terminated' flag.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6369