diff options
author | Simon Ser <contact@emersion.fr> | 2023-06-23 14:23:27 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-06-23 14:23:27 +0200 |
commit | 89cb4842208a2997cfa3a9bef7ac66e01a414ebb (patch) | |
tree | 677299cb6d84a93565a8878200752ff1715d0fb2 /xwayland/shell.c | |
parent | 00f1870d3566041e2e1ef2502dc52140f23bc556 (diff) |
compositor: replace role_data with role_resource
This increases type safety, makes it more obvious that role_data
must represent the role object, and will allow for automatic
cleanup when the resource is destroyed.
Diffstat (limited to 'xwayland/shell.c')
-rw-r--r-- | xwayland/shell.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/xwayland/shell.c b/xwayland/shell.c index d362cb7d..28f572d3 100644 --- a/xwayland/shell.c +++ b/xwayland/shell.c @@ -38,7 +38,7 @@ static struct wlr_xwayland_surface_v1 *xwl_surface_from_resource( } static void xwl_surface_role_commit(struct wlr_surface *surface) { - struct wlr_xwayland_surface_v1 *xwl_surface = surface->role_data; + struct wlr_xwayland_surface_v1 *xwl_surface = xwl_surface_from_resource(surface->role_resource); if (xwl_surface->serial != 0 && !xwl_surface->added) { xwl_surface->added = true; @@ -48,7 +48,7 @@ static void xwl_surface_role_commit(struct wlr_surface *surface) { } static void xwl_surface_role_destroy(struct wlr_surface *surface) { - struct wlr_xwayland_surface_v1 *xwl_surface = surface->role_data; + struct wlr_xwayland_surface_v1 *xwl_surface = xwl_surface_from_resource(surface->role_resource); wl_list_remove(&xwl_surface->surface_destroy.link); wl_list_remove(&xwl_surface->link); wl_resource_set_user_data(xwl_surface->resource, NULL); // make inert @@ -131,7 +131,7 @@ static void shell_handle_get_xwayland_surface(struct wl_client *client, wl_resource_set_implementation(xwl_surface->resource, &xwl_surface_impl, xwl_surface, xwl_surface_handle_resource_destroy); - wlr_surface_set_role_object(surface, xwl_surface); + wlr_surface_set_role_object(surface, xwl_surface->resource); wl_list_insert(&shell->surfaces, &xwl_surface->link); |