From: Matthias Clasen Date: Sun, 14 May 2023 21:27:12 +0000 (-0400) Subject: wayland: Add new backend api X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~259^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bf87a40b203d6ed6c902aeb169bbcf081c65ff60;p=gtk4.git wayland: Add new backend api Add an alternative to unexport_handle that does take the handle. --- 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);