[gtk+/gtk-3-18] wayland: Plug surface leak



commit 0adf04015272f48c4ca9b74d2d29725627b14134
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Nov 24 17:41:58 2015 +0100

    wayland: Plug surface leak
    
    Other backends take care of the cairo surface destruction in
    GdkWindow::destroy. We must do the same here, or the cairo_surface
    and its corresponding wl_buffer are left dangling.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=747295

 gdk/wayland/gdkwindow-wayland.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 453c4f3..1370b02 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -1769,7 +1769,11 @@ gdk_wayland_window_destroy (GdkWindow *window,
   gdk_wayland_window_hide_surface (window);
 
   if (impl->cairo_surface)
-    cairo_surface_finish (impl->cairo_surface);
+    {
+      cairo_surface_finish (impl->cairo_surface);
+      cairo_surface_destroy (impl->cairo_surface);
+      impl->cairo_surface = NULL;
+    }
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]