mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-03 09:01:40 -05:00
compositor: enforce surface destruction order
This commit is contained in:
parent
099b9de752
commit
c09d3450d4
1 changed files with 8 additions and 0 deletions
|
|
@ -36,6 +36,14 @@ static int max(int fst, int snd) {
|
||||||
|
|
||||||
static void surface_handle_destroy(struct wl_client *client,
|
static void surface_handle_destroy(struct wl_client *client,
|
||||||
struct wl_resource *resource) {
|
struct wl_resource *resource) {
|
||||||
|
struct wlr_surface *surface = wlr_surface_from_resource(resource);
|
||||||
|
if (surface->role_data != NULL) {
|
||||||
|
// TODO: send WL_SURFACE_ERROR_DEFUNCT_ROLE_OBJECT
|
||||||
|
// https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/278
|
||||||
|
wl_resource_post_error(resource, -1,
|
||||||
|
"surface was destroyed before its role object");
|
||||||
|
return;
|
||||||
|
}
|
||||||
wl_resource_destroy(resource);
|
wl_resource_destroy(resource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue