Brendan Shanks (@bshanks) commented about programs/cmd/wcmd.h:
> void WCMD_execute (const WCHAR *orig_command, const WCHAR *redirects,
> CMD_LIST **cmdList, BOOL retrycall);
>
> -void *xalloc(size_t) __WINE_ALLOC_SIZE(1) __WINE_DEALLOC(free) __WINE_MALLOC;
> +void *xrealloc(void *, size_t) __WINE_ALLOC_SIZE(2) __WINE_DEALLOC(free) __WINE_MALLOC;
`realloc` should not use `__WINE_MALLOC`/`attribute((malloc))`. From [the docs](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html):
"functions like realloc do not have this property, as they may return pointers to storage containing pointers to existing objects"
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5600#note_70159
This MR improves the handling of numpad keys for drivers using KBDTABLES (only the Wayland driver at this point). It achieves this by:
1. Allowing drivers to send only the scancode in keyboard events, with win32u performing the scan->vkey mapping internally. A nice side effect of this change is that it fixes a few user32 input test TODOs.
2. Enhancing wineserver to read extended KBD vkey attributes and perform numpad key mapping depending on modifier state.
3. Providing default VK_NUMPAD* -> WCHAR mappings in win32u.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5601