36c2c4a254
When a client is killed we don't get a clean dismissal of pop-ups in construction order. This can lead to a weston_desktop_surface being destroyed before its child popup is destroyed. The weston_surface is still alive, so the surface destroy listener can't save us. Track grabbed seats in parent surfaces and explicitly break any grabs that depend on them when the surfaces are destroyed. Fixes #870 Signed-off-by: Derek Foreman <derek.foreman@collabora.com> |
||
---|---|---|
.. | ||
client.c | ||
internal.h | ||
libweston-desktop.c | ||
meson.build | ||
seat.c | ||
surface.c | ||
xdg-shell-v6.c | ||
xdg-shell.c | ||
xwayland.c |