check parent surface before it is destroyed

This commit is contained in:
John Mako 2020-09-19 14:21:12 -05:00 committed by Simon Ser
parent 41999d7c9f
commit 4537c8b3d4

View file

@ -95,7 +95,7 @@ static void unmanaged_handle_unmap(struct wl_listener *listener, void *data) {
if (seat->wlr_seat->keyboard_state.focused_surface == xsurface->surface) { if (seat->wlr_seat->keyboard_state.focused_surface == xsurface->surface) {
// This simply returns focus to the parent surface if there's one available. // This simply returns focus to the parent surface if there's one available.
// This seems to handle JetBrains issues. // This seems to handle JetBrains issues.
if (xsurface->parent && if (xsurface->parent && xsurface->parent->surface &&
wlr_surface_is_xwayland_surface(xsurface->parent->surface)) { wlr_surface_is_xwayland_surface(xsurface->parent->surface)) {
struct wlr_xwayland_surface *next_surface = struct wlr_xwayland_surface *next_surface =
wlr_xwayland_surface_from_wlr_surface(xsurface->parent->surface); wlr_xwayland_surface_from_wlr_surface(xsurface->parent->surface);