diff --git a/src/core/lv_obj_event.c b/src/core/lv_obj_event.c index e04038211b..4b9ec8b3ac 100644 --- a/src/core/lv_obj_event.c +++ b/src/core/lv_obj_event.c @@ -49,8 +49,6 @@ static bool event_code_in_array(lv_event_code_t code, const lv_event_code_t * ar lv_result_t lv_obj_send_event(lv_obj_t * obj, lv_event_code_t event_code, void * param) { - LV_CHECK_ARG(obj != NULL, return LV_RESULT_OK); - LV_CHECK_OBJ(obj, MY_CLASS, return 0); lv_event_t e; @@ -148,7 +146,6 @@ bool lv_obj_remove_event_dsc(lv_obj_t * obj, lv_event_dsc_t * dsc) uint32_t lv_obj_remove_event_cb(lv_obj_t * obj, lv_event_cb_t event_cb) { LV_CHECK_ARG(obj != NULL, return 0); - LV_CHECK_ARG(event_cb != NULL, return 0); uint32_t event_cnt = lv_obj_get_event_count(obj); uint32_t removed_count = 0; @@ -158,7 +155,7 @@ uint32_t lv_obj_remove_event_cb(lv_obj_t * obj, lv_event_cb_t event_cb) for(i = event_cnt - 1; i >= 0; i--) { lv_event_dsc_t * dsc = lv_obj_get_event_dsc(obj, i); - if(dsc && dsc->cb == event_cb) { + if(dsc && (event_cb == NULL || dsc->cb == event_cb)) { lv_obj_remove_event(obj, i); removed_count++; } @@ -190,16 +187,19 @@ uint32_t lv_obj_remove_event_cb_with_user_data(lv_obj_t * obj, lv_event_cb_t eve lv_obj_t * lv_event_get_current_target_obj(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); return lv_event_get_current_target(e); } lv_obj_t * lv_event_get_target_obj(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); return lv_event_get_target(e); } lv_indev_t * lv_event_get_indev(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); static const lv_event_code_t indev_codes[] = { LV_EVENT_PRESSED, LV_EVENT_PRESSING, LV_EVENT_PRESS_LOST, LV_EVENT_SHORT_CLICKED, LV_EVENT_LONG_PRESSED, LV_EVENT_LONG_PRESSED_REPEAT, @@ -216,6 +216,7 @@ lv_indev_t * lv_event_get_indev(lv_event_t * e) lv_layer_t * lv_event_get_layer(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); static const lv_event_code_t draw_codes[] = { LV_EVENT_DRAW_MAIN, LV_EVENT_DRAW_MAIN_BEGIN, LV_EVENT_DRAW_MAIN_END, LV_EVENT_DRAW_POST, LV_EVENT_DRAW_POST_BEGIN, LV_EVENT_DRAW_POST_END, @@ -227,6 +228,7 @@ lv_layer_t * lv_event_get_layer(lv_event_t * e) const lv_area_t * lv_event_get_old_size(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); LV_CHECK_ARG(e->code == LV_EVENT_SIZE_CHANGED, return NULL, "invalid event code %" LV_PRId32, (int32_t)e->code); return lv_event_get_param(e); @@ -234,6 +236,7 @@ const lv_area_t * lv_event_get_old_size(lv_event_t * e) uint32_t lv_event_get_key(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return 0); LV_CHECK_ARG(e->code == LV_EVENT_KEY, return 0, "invalid event code %" LV_PRId32, (int32_t)e->code); uint32_t * k = lv_event_get_param(e); @@ -242,6 +245,7 @@ uint32_t lv_event_get_key(lv_event_t * e) int32_t lv_event_get_rotary_diff(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return 0); LV_CHECK_ARG(e->code == LV_EVENT_ROTARY, return 0, "invalid event code %" LV_PRId32, (int32_t)e->code); int32_t * r = lv_event_get_param(e); @@ -250,6 +254,7 @@ int32_t lv_event_get_rotary_diff(lv_event_t * e) lv_anim_t * lv_event_get_scroll_anim(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); LV_CHECK_ARG(e->code == LV_EVENT_SCROLL_BEGIN, return NULL, "invalid event code %" LV_PRId32, (int32_t)e->code); return lv_event_get_param(e); @@ -257,6 +262,7 @@ lv_anim_t * lv_event_get_scroll_anim(lv_event_t * e) void lv_event_set_ext_draw_size(lv_event_t * e, int32_t size) { + LV_CHECK_ARG(e != NULL, return); LV_CHECK_ARG(e->code == LV_EVENT_REFR_EXT_DRAW_SIZE, return, "invalid event code %" LV_PRId32, (int32_t)e->code); int32_t * cur_size = lv_event_get_param(e); @@ -265,6 +271,7 @@ void lv_event_set_ext_draw_size(lv_event_t * e, int32_t size) lv_point_t * lv_event_get_self_size_info(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); LV_CHECK_ARG(e->code == LV_EVENT_GET_SELF_SIZE, return NULL, "invalid event code %" LV_PRId32, (int32_t)e->code); return lv_event_get_param(e); @@ -272,6 +279,7 @@ lv_point_t * lv_event_get_self_size_info(lv_event_t * e) lv_hit_test_info_t * lv_event_get_hit_test_info(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); LV_CHECK_ARG(e->code == LV_EVENT_HIT_TEST, return NULL, "invalid event code %" LV_PRId32, (int32_t)e->code); return lv_event_get_param(e); @@ -279,6 +287,7 @@ lv_hit_test_info_t * lv_event_get_hit_test_info(lv_event_t * e) const lv_area_t * lv_event_get_cover_area(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); LV_CHECK_ARG(e->code == LV_EVENT_COVER_CHECK, return NULL, "invalid event code %" LV_PRId32, (int32_t)e->code); lv_cover_check_info_t * p = lv_event_get_param(e); @@ -287,6 +296,7 @@ const lv_area_t * lv_event_get_cover_area(lv_event_t * e) void lv_event_set_cover_res(lv_event_t * e, lv_cover_res_t res) { + LV_CHECK_ARG(e != NULL, return); LV_CHECK_ARG(e->code == LV_EVENT_COVER_CHECK, return, "invalid event code %" LV_PRId32, (int32_t)e->code); lv_cover_check_info_t * p = lv_event_get_param(e); @@ -295,6 +305,7 @@ void lv_event_set_cover_res(lv_event_t * e, lv_cover_res_t res) lv_draw_task_t * lv_event_get_draw_task(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return NULL); LV_CHECK_ARG(e->code == LV_EVENT_DRAW_TASK_ADDED, return NULL, "invalid event code %" LV_PRId32, (int32_t)e->code); return lv_event_get_param(e); @@ -302,6 +313,7 @@ lv_draw_task_t * lv_event_get_draw_task(lv_event_t * e) lv_state_t lv_event_get_prev_state(lv_event_t * e) { + LV_CHECK_ARG(e != NULL, return 0); LV_CHECK_ARG(e->code == LV_EVENT_STATE_CHANGED, return 0, "invalid event code %" LV_PRId32, (int32_t)e->code); lv_state_t * state = lv_event_get_param(e);