From a2b827ab71f51240a192fa20913f6e83d8528612 Mon Sep 17 00:00:00 2001 From: Erik Reider <35975961+ErikReider@users.noreply.github.com> Date: Fri, 28 Jul 2023 06:38:37 +0200 Subject: Tinywl: stop asserting that all surfaces are xdg_surfaces (#15) --- tinywl/tinywl.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'tinywl/tinywl.c') diff --git a/tinywl/tinywl.c b/tinywl/tinywl.c index d4f4e7f..f6e1254 100644 --- a/tinywl/tinywl.c +++ b/tinywl/tinywl.c @@ -613,8 +613,14 @@ static void output_configure_scene(struct wlr_scene_node *node, struct wlr_scene_surface * scene_surface = wlr_scene_surface_from_buffer(buffer); - struct wlr_xdg_surface *xdg_surface = - wlr_xdg_surface_from_wlr_surface(scene_surface->surface); + if (!scene_surface) { + return; + } + + struct wlr_xdg_surface *xdg_surface = NULL; + if (wlr_surface_is_xdg_surface(scene_surface->surface)) { + xdg_surface = wlr_xdg_surface_from_wlr_surface(scene_surface->surface); + } if (xdg_surface && xdg_surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL) { -- cgit v1.2.3