commit 70842f4e147fb16caa6f37bbf9d833dcf24a15a1
parent 3287b12fff45f931a456cbd01579db2e9259c164
Author: Kenny Levinsen <kl@kl.wtf>
Date: Sat, 20 Mar 2021 12:56:40 +0100
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.
Diffstat:
1 file changed, 6 insertions(+), 0 deletions(-)
diff --git 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