[PATCH weston] xwm: Fix two more icon related memory leaks

Pekka Paalanen ppaalanen at gmail.com
Wed Mar 28 13:56:17 UTC 2018


On Tue, 27 Mar 2018 11:09:32 -0500
Derek Foreman <derekf at osg.samsung.com> wrote:

> 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 <oreaus at gmail.com>
> 
> Signed-off-by: Derek Foreman <derekf at 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);


Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20180328/d539cbdd/attachment.sig>


More information about the wayland-devel mailing list