summaryrefslogtreecommitdiff
path: root/tinywl/tinywl.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinywl/tinywl.c')
-rw-r--r--tinywl/tinywl.c10
1 files changed, 8 insertions, 2 deletions
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) {