Alexandre Julliard pushed to branch master at wine / wine
Commits: 3b9729b3 by Attila Fidan at 2025-03-31T11:21:46+02:00 winewayland: Don't use a destroyed surface in text input.
Don't assert or get the user data of null surface arguments. When the callbacks are run with a null surface it means the surface was destroyed client-side but the compositor has yet to process the destroy request and has sent events referencing the surface which no longer exists on the client.
The wl_surface pointer also needs to be removed during wayland_surface_destroy to prevent it from becoming a dangling pointer which may be used if text_input_done or text_input_leave is run after the surface is destroyed. While doing so, track the hwnd instead to be consistent with keyboard and pointer.
- - - - -
3 changed files:
- dlls/winewayland.drv/wayland_surface.c - dlls/winewayland.drv/wayland_text_input.c - dlls/winewayland.drv/waylanddrv.h
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/commit/3b9729b3ea957c9a5cd37a9d9a93d9b...