From bf87a40b203d6ed6c902aeb169bbcf081c65ff60 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 14 May 2023 17:27:12 -0400 Subject: [PATCH] wayland: Add new backend api Add an alternative to unexport_handle that does take the handle. --- gdk/wayland/gdktoplevel-wayland.c | 21 +++++++++++++++++++++ gdk/wayland/gdkwaylandtoplevel.h | 4 ++++ 2 files changed, 25 insertions(+) diff --git a/gdk/wayland/gdktoplevel-wayland.c b/gdk/wayland/gdktoplevel-wayland.c index a73c3de695..521841ee9d 100644 --- a/gdk/wayland/gdktoplevel-wayland.c +++ b/gdk/wayland/gdktoplevel-wayland.c @@ -2491,6 +2491,27 @@ gdk_wayland_toplevel_unexport_handle (GdkToplevel *toplevel) gdk_toplevel_unexport_handle (toplevel); } +/** + * gdk_wayland_toplevel_drop_exported_handle: + * @toplevel: (type GdkWaylandToplevel): the `GdkToplevel` that was exported + * @handle: the handle to drop + * + * Destroy a handle that was obtained with gdk_wayland_toplevel_export_handle(). + * + * Note that this API depends on an unstable Wayland protocol, + * and thus may require changes in the future. + * + * Since: 4.12 + */ +void +gdk_wayland_toplevel_drop_exported_handle (GdkToplevel *toplevel, + const char *handle) +{ + g_return_if_fail (GDK_IS_WAYLAND_TOPLEVEL (toplevel)); + + gdk_toplevel_unexport_handle (toplevel); +} + static void unset_transient_for_exported (GdkWaylandToplevel *toplevel) { diff --git a/gdk/wayland/gdkwaylandtoplevel.h b/gdk/wayland/gdkwaylandtoplevel.h index 36410b3054..bb7abe5976 100644 --- a/gdk/wayland/gdkwaylandtoplevel.h +++ b/gdk/wayland/gdkwaylandtoplevel.h @@ -55,6 +55,10 @@ gboolean gdk_wayland_toplevel_export_handle (GdkToplevel GDK_AVAILABLE_IN_ALL void gdk_wayland_toplevel_unexport_handle (GdkToplevel *toplevel); +GDK_AVAILABLE_IN_4_12 +void gdk_wayland_toplevel_drop_exported_handle (GdkToplevel *toplevel, + const char *handle); + GDK_AVAILABLE_IN_ALL gboolean gdk_wayland_toplevel_set_transient_for_exported (GdkToplevel *toplevel, const char *parent_handle_str); -- 2.30.2