mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-10-29 05:40:12 -04:00
compositor: listen to role_resource destroy signal
Call wlr_surface_destroy_role_object() when the role_resource is destroyed.
This commit is contained in:
parent
89cb484220
commit
8a5b5e6f28
7 changed files with 20 additions and 45 deletions
|
|
@ -91,14 +91,6 @@ static void xwl_surface_handle_surface_destroy(struct wl_listener *listener,
|
|||
wlr_surface_destroy_role_object(xwl_surface->surface);
|
||||
}
|
||||
|
||||
static void xwl_surface_handle_resource_destroy(struct wl_resource *resource) {
|
||||
struct wlr_xwayland_surface_v1 *xwl_surface =
|
||||
xwl_surface_from_resource(resource);
|
||||
if (xwl_surface != NULL) {
|
||||
wlr_surface_destroy_role_object(xwl_surface->surface);
|
||||
}
|
||||
}
|
||||
|
||||
static void shell_handle_get_xwayland_surface(struct wl_client *client,
|
||||
struct wl_resource *shell_resource, uint32_t id,
|
||||
struct wl_resource *surface_resource) {
|
||||
|
|
@ -129,7 +121,7 @@ static void shell_handle_get_xwayland_surface(struct wl_client *client,
|
|||
return;
|
||||
}
|
||||
wl_resource_set_implementation(xwl_surface->resource, &xwl_surface_impl,
|
||||
xwl_surface, xwl_surface_handle_resource_destroy);
|
||||
xwl_surface, NULL);
|
||||
|
||||
wlr_surface_set_role_object(surface, xwl_surface->resource);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue