fix(gridnav): fix the lv_gridnav_remove which may remove the event incorrectly (#5410)
This commit is contained in:
@@ -80,15 +80,12 @@ void lv_gridnav_remove(lv_obj_t * obj)
|
|||||||
for(i = 0; i < event_cnt; i++) {
|
for(i = 0; i < event_cnt; i++) {
|
||||||
event_dsc = lv_obj_get_event_dsc(obj, i);
|
event_dsc = lv_obj_get_event_dsc(obj, i);
|
||||||
if(lv_event_dsc_get_cb(event_dsc) == gridnav_event_cb) {
|
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;
|
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)
|
void lv_gridnav_set_focused(lv_obj_t * cont, lv_obj_t * to_focus, lv_anim_enable_t anim_en)
|
||||||
|
|||||||
Reference in New Issue
Block a user