From: R��mi Bernon <rbernon(a)codeweavers.com> It actually frees the pointer. --- server/queue.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/queue.c b/server/queue.c index d98d645065f..01fe8d6c060 100644 --- a/server/queue.c +++ b/server/queue.c @@ -3380,6 +3380,14 @@ DECL_HANDLER(update_rawinput_devices) size_t size = device_count * sizeof(*devices); struct process *process = current->process; + if (!size) + { + process->rawinput_device_count = 0; + process->rawinput_mouse = NULL; + process->rawinput_kbd = NULL; + return; + } + if (!(tmp = realloc( process->rawinput_devices, size ))) { set_error( STATUS_NO_MEMORY ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/596