diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index bec49e67..a61b27ce 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -3984,6 +3984,13 @@ static const struct weston_shell_client xdg_client = { xdg_send_configure }; +static void +xdg_shell_destroy(struct wl_client *client, + struct wl_resource *resource) +{ + wl_resource_destroy(resource); +} + static void xdg_use_unstable_version(struct wl_client *client, struct wl_resource *resource, @@ -4194,6 +4201,7 @@ shell_surface_is_xdg_popup(struct shell_surface *shsurf) } static const struct xdg_shell_interface xdg_implementation = { + xdg_shell_destroy, xdg_use_unstable_version, xdg_get_xdg_surface, xdg_get_xdg_popup, @@ -4209,7 +4217,7 @@ xdg_shell_unversioned_dispatch(const void *implementation, struct wl_resource *resource = _target; struct shell_client *sc = wl_resource_get_user_data(resource); - if (opcode != 0) { + if (opcode != 1 /* XDG_SHELL_USE_UNSTABLE_VERSION */) { wl_resource_post_error(resource, WL_DISPLAY_ERROR_INVALID_OBJECT, "must call use_unstable_version first"); diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml index fbf37231..b940cff4 100644 --- a/protocol/xdg-shell.xml +++ b/protocol/xdg-shell.xml @@ -52,6 +52,11 @@ + + + + + Negotiate the unstable version of the interface. This