Use wl_container_of() instead of casts

This slightly improves type safety.

The culprits were found with:

    git grep -E '\([a-z0-9_ ]+ \*\)\W?[a-z]'
This commit is contained in:
Simon Ser 2023-07-11 17:54:08 +02:00
parent c2c536de03
commit fe06e5f49a
29 changed files with 85 additions and 55 deletions

View file

@ -154,7 +154,8 @@ static int x11_event(int fd, uint32_t mask, void *data) {
struct wlr_x11_backend *get_x11_backend_from_backend(
struct wlr_backend *wlr_backend) {
assert(wlr_backend_is_x11(wlr_backend));
return (struct wlr_x11_backend *)wlr_backend;
struct wlr_x11_backend *backend = wl_container_of(wlr_backend, backend, backend);
return backend;
}
static bool backend_start(struct wlr_backend *backend) {

View file

@ -54,7 +54,8 @@ static void parse_xcb_setup(struct wlr_output *output,
static struct wlr_x11_output *get_x11_output_from_output(
struct wlr_output *wlr_output) {
assert(wlr_output_is_x11(wlr_output));
return (struct wlr_x11_output *)wlr_output;
struct wlr_x11_output *output = wl_container_of(wlr_output, output, wlr_output);
return output;
}
static bool output_set_custom_mode(struct wlr_output *wlr_output,