summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2021-01-29 16:21:05 +0000
committerJonas Ådahl <jadahl@gmail.com>2021-01-29 16:21:05 +0000
commitad3a35b4c5f542d2d4cb804ff5169dbb029f4b18 (patch)
treee3d8e75637b2e176e62743d78e5b18b23c624f48
parent8eb46bbfb250b90e258bfede2337b89ad66602d5 (diff)
parent04cf5044dad4c223437423076fa757a3d8a838d2 (diff)
downloadgtk+-ad3a35b4c5f542d2d4cb804ff5169dbb029f4b18.tar.gz
Merge branch 'gtk-surface-release-4' into 'master'
wayland: Signal gtk-shell surface destruction to the server See merge request GNOME/gtk!3129
-rw-r--r--gdk/wayland/gdkdisplay-wayland.c2
-rw-r--r--gdk/wayland/gdksurface-wayland.c6
-rw-r--r--gdk/wayland/protocol/gtk-shell.xml7
3 files changed, 11 insertions, 4 deletions
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index 3acc10ed50..b261c77fae 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -94,7 +94,7 @@
#define MIN_SYSTEM_BELL_DELAY_MS 20
-#define GTK_SHELL1_VERSION 3
+#define GTK_SHELL1_VERSION 4
#define OUTPUT_VERSION_WITH_DONE 2
#define NO_XDG_OUTPUT_DONE_SINCE_VERSION 3
diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c
index 0fd1b82a9b..d31e4ae6ee 100644
--- a/gdk/wayland/gdksurface-wayland.c
+++ b/gdk/wayland/gdksurface-wayland.c
@@ -2967,7 +2967,11 @@ gdk_wayland_surface_hide_surface (GdkSurface *surface)
if (impl->display_server.gtk_surface)
{
- gtk_surface1_destroy (impl->display_server.gtk_surface);
+ if (display_wayland->gtk_shell_version >=
+ GTK_SURFACE1_RELEASE_SINCE_VERSION)
+ gtk_surface1_release (impl->display_server.gtk_surface);
+ else
+ gtk_surface1_destroy (impl->display_server.gtk_surface);
impl->display_server.gtk_surface = NULL;
impl->application.was_set = FALSE;
}
diff --git a/gdk/wayland/protocol/gtk-shell.xml b/gdk/wayland/protocol/gtk-shell.xml
index fb91940b30..1aab593c42 100644
--- a/gdk/wayland/protocol/gtk-shell.xml
+++ b/gdk/wayland/protocol/gtk-shell.xml
@@ -1,6 +1,6 @@
<protocol name="gtk">
- <interface name="gtk_shell1" version="3">
+ <interface name="gtk_shell1" version="4">
<description summary="gtk specific extensions">
gtk_shell is a protocol extension providing additional features for
clients implementing it.
@@ -35,7 +35,7 @@
</request>
</interface>
- <interface name="gtk_surface1" version="3">
+ <interface name="gtk_surface1" version="4">
<request name="set_dbus_properties">
<arg name="application_id" type="string" allow-null="true"/>
<arg name="app_menu_path" type="string" allow-null="true"/>
@@ -82,6 +82,9 @@
<request name="request_focus" since="3">
<arg name="startup_id" type="string" allow-null="true"/>
</request>
+
+ <!-- Version 4 additions -->
+ <request name="release" type="destructor" since="4"/>
</interface>
</protocol>