summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edmundson <kde@davidedmundson.co.uk>2018-06-28 11:13:33 +0100
committerDavid Edmundson <kde@davidedmundson.co.uk>2018-06-28 18:51:12 +0100
commitf3f4d40b89c57b6f8c82a4376e5dc0935a6dfb6c (patch)
tree3e4a64590fbe709f106a7909f17aee9e68307867
parentb0bfe606aa9c35bec97b018baf13322c5ac963da (diff)
downloadgtk+-f3f4d40b89c57b6f8c82a4376e5dc0935a6dfb6c.tar.gz
wayland: Fix memory leak in server decoration object
The server decoration object becomes invaid when the wl_surface is deleted. We should tidy it up then.
-rw-r--r--gdk/wayland/gdkwindow-wayland.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index eba0f37f97..9ae45231ae 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -3108,6 +3108,12 @@ gdk_wayland_window_hide_surface (GdkWindow *window)
impl->application.was_set = FALSE;
}
+ if (impl->display_server.server_decoration)
+ {
+ org_kde_kwin_server_decoration_release (impl->display_server.server_decoration);
+ impl->display_server.server_decoration = NULL;
+ }
+
wl_surface_destroy (impl->display_server.wl_surface);
impl->display_server.wl_surface = NULL;