From 1fa7031a0e0166630490d496bd9cbf09755ffb2f Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Tue, 2 Aug 2016 11:19:58 +0200 Subject: [PATCH xserver] xwayland: Plug memleak in frame callbacks The frame callback set up via wl_surface_frame() needs to be freed with wl_callback_destroy() or we'll leak memory. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97065 Signed-off-by: Olivier Fourdan --- hw/xwayland/xwayland-cursor.c | 2 ++ hw/xwayland/xwayland.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/hw/xwayland/xwayland-cursor.c b/hw/xwayland/xwayland-cursor.c index 74dfe4e..7d14a3d 100644 --- a/hw/xwayland/xwayland-cursor.c +++ b/hw/xwayland/xwayland-cursor.c @@ -100,6 +100,8 @@ frame_callback(void *data, uint32_t time) { struct xwl_seat *xwl_seat = data; + + wl_callback_destroy (xwl_seat->cursor_frame_cb); xwl_seat->cursor_frame_cb = NULL; if (xwl_seat->cursor_needs_update) { xwl_seat->cursor_needs_update = FALSE; diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c index 2d44d07..e9892f7 100644 --- a/hw/xwayland/xwayland.c +++ b/hw/xwayland/xwayland.c @@ -359,6 +359,8 @@ frame_callback(void *data, uint32_t time) { struct xwl_window *xwl_window = data; + + wl_callback_destroy (xwl_window->frame_callback); xwl_window->frame_callback = NULL; } -- 2.7.4