diff options
author | Alexander Orzechowski <[email protected]> | 2022-05-19 14:26:50 -0400 |
---|---|---|
committer | Alexander Orzechowski <[email protected]> | 2022-05-19 14:26:50 -0400 |
commit | dd1d163bf8ab94b3f59209193c2cd209c5b472b4 (patch) | |
tree | d8fe797461106642bb1be64fd05a994ec9448607 /tinywl.c | |
parent | a755670648459d6c341a75a384942c3f44c5c85b (diff) |
wlr_scene: Refactor wlr_scene_surface to be a helper on top of wlr_scene_buffer
Diffstat (limited to 'tinywl.c')
-rw-r--r-- | tinywl.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -341,10 +341,17 @@ static struct tinywl_view *desktop_view_at( * surface in the surface tree of a tinywl_view. */ struct wlr_scene_node *node = wlr_scene_node_at( &server->scene->node, lx, ly, sx, sy); - if (node == NULL || node->type != WLR_SCENE_NODE_SURFACE) { + if (node == NULL || node->type != WLR_SCENE_NODE_BUFFER) { return NULL; } - *surface = wlr_scene_surface_from_node(node)->surface; + struct wlr_scene_buffer *scene_buffer = wlr_scene_buffer_from_node(node); + struct wlr_scene_surface *scene_surface = + wlr_scene_surface_from_buffer(scene_buffer); + if (!scene_surface) { + return NULL; + } + + *surface = scene_surface->surface; /* Find the node corresponding to the tinywl_view at the root of this * surface tree, it is the only one for which we set the data field. */ while (node != NULL && node->data == NULL) { |