Hopefully sort the last leaks introduced in commit 6b58ea8c

The window could be destroyed before it had a frame but after it had an icon
(I could trigger this with firefox), and the window could be assigned an icon
twice before it had a frame (I could trigger this with terminology).

The latter leak was
Reported-by: Scott Moreau <ore...@gmail.com>

Signed-off-by: Derek Foreman <der...@osg.samsung.com>
---
 xwayland/window-manager.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
index dad117fa..7b98e140 100644
--- a/xwayland/window-manager.c
+++ b/xwayland/window-manager.c
@@ -1404,6 +1404,9 @@ weston_wm_handle_icon(struct weston_wm *wm, struct 
weston_wm_window *window)
                return;
        }
 
+       if (window->icon_surface)
+               cairo_surface_destroy(window->icon_surface);
+
        cairo_surface_set_user_data(new_surface, NULL, reply,
                                    &handle_icon_surface_destroy);
 
@@ -1506,6 +1509,8 @@ weston_wm_window_destroy(struct weston_wm_window *window)
                wl_event_source_remove(window->repaint_source);
        if (window->cairo_surface)
                cairo_surface_destroy(window->cairo_surface);
+       if (window->icon_surface)
+               cairo_surface_destroy(window->icon_surface);
 
        if (window->frame_id) {
                xcb_reparent_window(wm->conn, window->id, wm->wm_window, 0, 0);
-- 
2.14.3

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to