From 4a60e01f8ce6d5c3c7f2eb3720d714300e33b621 Mon Sep 17 00:00:00 2001 From: Tong R <141553835+TCRnext@users.noreply.github.com> Date: Mon, 22 Jan 2024 21:27:07 +0800 Subject: [PATCH] fix(gridnav): fix the `lv_gridnav_remove` which may remove the event incorrectly (#5410) --- src/others/gridnav/lv_gridnav.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/others/gridnav/lv_gridnav.c b/src/others/gridnav/lv_gridnav.c index ddb62f13d..f49c62d0c 100644 --- a/src/others/gridnav/lv_gridnav.c +++ b/src/others/gridnav/lv_gridnav.c @@ -80,15 +80,12 @@ void lv_gridnav_remove(lv_obj_t * obj) for(i = 0; i < event_cnt; i++) { event_dsc = lv_obj_get_event_dsc(obj, i); if(lv_event_dsc_get_cb(event_dsc) == gridnav_event_cb) { + lv_free(lv_event_dsc_get_user_data(event_dsc)); + lv_obj_remove_event(obj, i); break; } } - if(event_dsc) { - lv_free(lv_event_dsc_get_user_data(event_dsc)); - lv_obj_remove_event(obj, i); - - } } void lv_gridnav_set_focused(lv_obj_t * cont, lv_obj_t * to_focus, lv_anim_enable_t anim_en)