summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Orzechowski <[email protected]>2022-10-13 12:10:23 -0400
committerSimon Ser <[email protected]>2022-10-13 16:36:05 +0000
commitf5f83652b274683ecc8fd84f87fb768236d2733e (patch)
treed868ca6c52ecfcdd7415c830d339ed74455bac2d
parentbd311bdd570f705019035d2f666c0e4b8a7d0329 (diff)
wlr_scene: use wl_container_of() instead of casts
-rw-r--r--wlr_scene.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/wlr_scene.c b/wlr_scene.c
index f786ca9..9c274f3 100644
--- a/wlr_scene.c
+++ b/wlr_scene.c
@@ -21,19 +21,22 @@
static struct wlr_scene_tree *scene_tree_from_node(struct wlr_scene_node *node) {
assert(node->type == WLR_SCENE_NODE_TREE);
- return (struct wlr_scene_tree *)node;
+ struct wlr_scene_tree *tree = wl_container_of(node, tree, node);
+ return tree;
}
static struct wlr_scene_rect *scene_rect_from_node(
struct wlr_scene_node *node) {
assert(node->type == WLR_SCENE_NODE_RECT);
- return (struct wlr_scene_rect *)node;
+ struct wlr_scene_rect *rect = wl_container_of(node, rect, node);
+ return rect;
}
struct wlr_scene_buffer *wlr_scene_buffer_from_node(
struct wlr_scene_node *node) {
assert(node->type == WLR_SCENE_NODE_BUFFER);
- return (struct wlr_scene_buffer *)node;
+ struct wlr_scene_buffer *buffer = wl_container_of(node, buffer, node);
+ return buffer;
}
struct wlr_scene *scene_node_get_root(struct wlr_scene_node *node) {