summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2015-02-13 14:02:00 +0800
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2015-02-27 14:59:23 +0200
commit084aa0b6f6adcdb3b11d1bcd384c197c2d66c0c8 (patch)
tree0c1f807204b2a3ca0f7b4c221f85efccf8dc3751
parent24185e2561d8d31bdc8176f7c1844bc685ce0252 (diff)
xdg-shell: Add a simple destructor request
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-rw-r--r--desktop-shell/shell.c10
-rw-r--r--protocol/xdg-shell.xml5
2 files changed, 14 insertions, 1 deletions
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
@@ -3985,6 +3985,13 @@ static const struct weston_shell_client xdg_client = {
};
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,
int32_t version)
@@ -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 @@
<entry name="role" value="0" summary="given wl_surface has another role"/>
</enum>
+ <request name="destroy" type="destructor">
+ <description summary="destroy xdg_shell">
+ </description>
+ </request>
+
<request name="use_unstable_version">
<description summary="enable use of this unstable version">
Negotiate the unstable version of the interface. This