diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c b/src/lib/ecore_wl2/ecore_wl2_input.c index c0239b1b5a..bee94ebc71 100644 --- a/src/lib/ecore_wl2/ecore_wl2_input.c +++ b/src/lib/ecore_wl2/ecore_wl2_input.c @@ -1242,11 +1242,22 @@ void _ecore_wl2_input_del(Ecore_Wl2_Input *input) { Ecore_Wl2_Display *display; + Eina_Inlist *l = NULL; + Ecore_Wl2_Mouse_Down_Info *info = NULL; if (!input) return; display = input->display; + l = _ecore_wl2_mouse_down_info_list; + while (l) + { + info = EINA_INLIST_CONTAINER_GET(l, Ecore_Wl2_Mouse_Down_Info); + l = eina_inlist_remove(l, l); + free(info); + } + _ecore_wl2_mouse_down_info_list = NULL; + if (input->repeat.timer) ecore_timer_del(input->repeat.timer); _ecore_wl2_input_cursor_update_stop(input);