[PATCH weston 08/10] xdg-shell: Add a simple destructor request

Jonas Ã…dahl jadahl at gmail.com
Thu Feb 12 22:02:00 PST 2015


From: "Jasper St. Pierre" <jstpierre at mecheye.net>

---
 desktop-shell/shell.c  | 10 +++++++++-
 protocol/xdg-shell.xml |  5 +++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 57f7335..0ae2ad3 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 14165dc..0181901 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
-- 
2.1.0



More information about the wayland-devel mailing list