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 @@ - + gtk_shell is a protocol extension providing additional features for clients implementing it. @@ -35,7 +35,7 @@ - + @@ -82,6 +82,9 @@ + + +