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

Derek Foreman derekf at osg.samsung.com
Wed Mar 28 14:28:52 UTC 2018


On 2018-03-28 08:56 AM, Pekka Paalanen wrote:
> 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, I've pushed it now.

> 
> Thanks,
> pq
> 



More information about the wayland-devel mailing list