diff --git a/src/lv_core/lv_obj.c b/src/lv_core/lv_obj.c index c34741e29..45361d92d 100644 --- a/src/lv_core/lv_obj.c +++ b/src/lv_core/lv_obj.c @@ -435,6 +435,9 @@ lv_res_t lv_obj_del(lv_obj_t * obj) if(indev->proc.types.pointer.act_obj == obj || indev->proc.types.pointer.last_obj == obj) { lv_indev_reset(indev); } + if(indev->proc.types.pointer.last_pressed == obj) { + indev->proc.types.pointer.last_pressed = NULL; + } #if LV_USE_GROUP if(indev->group == group && was_focused) { @@ -2228,6 +2231,10 @@ static void delete_children(lv_obj_t * obj) if(indev->proc.types.pointer.act_obj == obj || indev->proc.types.pointer.last_obj == obj) { lv_indev_reset(indev); } + + if(indev->proc.types.pointer.last_pressed == obj) { + indev->proc.types.pointer.last_pressed = NULL; + } #if LV_USE_GROUP if(indev->group == group && was_focused) { lv_indev_reset(indev);