From 70842f4e147fb16caa6f37bbf9d833dcf24a15a1 Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Sat, 20 Mar 2021 12:56:40 +0100 Subject: view: Handle NULL role object when role is set wlr_(xdg|xwayland)_surface_from_wlr_surface can return NULL even though wlr_surface_is_(xdg|xwayland)_surface returned true. --- sway/tree/view.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sway/tree/view.c') diff --git a/sway/tree/view.c b/sway/tree/view.c index 8a2a8178..395b9fac 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -1139,12 +1139,18 @@ struct sway_view *view_from_wlr_surface(struct wlr_surface *wlr_surface) { if (wlr_surface_is_xdg_surface(wlr_surface)) { struct wlr_xdg_surface *xdg_surface = wlr_xdg_surface_from_wlr_surface(wlr_surface); + if (xdg_surface == NULL) { + return NULL; + } return view_from_wlr_xdg_surface(xdg_surface); } #if HAVE_XWAYLAND if (wlr_surface_is_xwayland_surface(wlr_surface)) { struct wlr_xwayland_surface *xsurface = wlr_xwayland_surface_from_wlr_surface(wlr_surface); + if (xsurface == NULL) { + return NULL; + } return view_from_wlr_xwayland_surface(xsurface); } #endif -- cgit v1.2.3-54-g00ecf