From: Jeffy Chen Date: Mon, 2 Sep 2019 02:15:26 +0000 (+0800) Subject: clients: Drop corresponding touch points when destroying windows X-Git-Tag: upstream/9.0.0~260 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=179458ad23a0e7b81fa9e83245ea8cee43e4fa14;p=platform%2Fupstream%2Fweston.git clients: Drop corresponding touch points when destroying windows This is to avoid memory leaking of these touch points. Signed-off-by: Jeffy Chen --- diff --git a/clients/window.c b/clients/window.c index 1c5a81f1..3d1e8e4a 100644 --- a/clients/window.c +++ b/clients/window.c @@ -1568,8 +1568,18 @@ window_destroy(struct window *window) wl_list_remove(&window->redraw_task.link); wl_list_for_each(input, &display->input_list, link) { - if (input->touch_focus == window) + if (input->touch_focus == window) { + struct touch_point *tp, *tmp; + + wl_list_for_each_safe(tp, tmp, + &input->touch_point_list, + link) { + wl_list_remove(&tp->link); + free(tp); + } + input->touch_focus = NULL; + } if (input->pointer_focus == window) input->pointer_focus = NULL; if (input->keyboard_focus == window)