Make popup inert when destroyed.
This commit is contained in:
parent
841b4fd918
commit
c1d0729d9a
|
@ -285,7 +285,8 @@ void destroy_xdg_popup(struct wlr_xdg_surface *xdg_surface) {
|
|||
if (xdg_surface == NULL) {
|
||||
return;
|
||||
}
|
||||
assert(xdg_surface->role == WLR_XDG_SURFACE_ROLE_POPUP);
|
||||
assert(xdg_surface->role == WLR_XDG_SURFACE_ROLE_POPUP ||
|
||||
xdg_surface->role == WLR_XDG_SURFACE_ROLE_NONE);
|
||||
reset_xdg_surface(xdg_surface);
|
||||
}
|
||||
|
||||
|
|
|
@ -524,9 +524,14 @@ void wlr_xdg_toplevel_send_close(struct wlr_xdg_surface *surface) {
|
|||
}
|
||||
|
||||
void wlr_xdg_popup_destroy(struct wlr_xdg_surface *surface) {
|
||||
if (surface == NULL) {
|
||||
return;
|
||||
}
|
||||
assert(surface->popup);
|
||||
assert(surface->role == WLR_XDG_SURFACE_ROLE_POPUP);
|
||||
xdg_popup_send_popup_done(surface->popup->resource);
|
||||
wl_resource_set_user_data(surface->popup->resource, NULL);
|
||||
destroy_xdg_popup(surface);
|
||||
}
|
||||
|
||||
static void xdg_popup_get_position(struct wlr_xdg_popup *popup,
|
||||
|
|
Loading…
Reference in New Issue