diff --git a/examples/widgets/switch/lv_example_switch_1.c b/examples/widgets/switch/lv_example_switch_1.c index e17b9cd22..5a334905d 100644 --- a/examples/widgets/switch/lv_example_switch_1.c +++ b/examples/widgets/switch/lv_example_switch_1.c @@ -20,6 +20,7 @@ void lv_example_switch_1(void) sw = lv_switch_create(lv_scr_act()); lv_obj_add_event(sw, event_handler, LV_EVENT_ALL, NULL); + lv_obj_add_flag(sw, LV_OBJ_FLAG_EVENT_BUBBLE); sw = lv_switch_create(lv_scr_act()); lv_obj_add_state(sw, LV_STATE_CHECKED); diff --git a/src/core/lv_obj.c b/src/core/lv_obj.c index f4cc9d2e8..d8dfaa605 100644 --- a/src/core/lv_obj.c +++ b/src/core/lv_obj.c @@ -791,7 +791,7 @@ static void lv_obj_event(const lv_obj_class_t * class_p, lv_event_t * e) LV_UNUSED(class_p); lv_event_code_t code = lv_event_get_code(e); - lv_obj_t * obj = lv_event_get_original_target(e); + lv_obj_t * obj = lv_event_get_target(e); if(code == LV_EVENT_PRESSED) { lv_obj_add_state(obj, LV_STATE_PRESSED); } diff --git a/src/core/lv_obj_event.c b/src/core/lv_obj_event.c index 8f02acd07..7a06ff434 100644 --- a/src/core/lv_obj_event.c +++ b/src/core/lv_obj_event.c @@ -75,7 +75,7 @@ lv_res_t lv_obj_send_event(lv_obj_t * obj, lv_event_code_t event_code, void * pa } -lv_res_t lv_event_base(const lv_obj_class_t * class_p, lv_event_t * e) +lv_res_t lv_obj_event_base(const lv_obj_class_t * class_p, lv_event_t * e) { const lv_obj_class_t * base; if(class_p == NULL) base = ((lv_obj_t *)e->target)->class_p; @@ -309,7 +309,7 @@ static lv_res_t event_send_core(lv_event_t * e) res = lv_event_send(list, e, true); if(res != LV_RES_OK) return res; - res = lv_event_base(NULL, e); + res = lv_obj_event_base(NULL, e); if(res != LV_RES_OK) return res; res = lv_event_send(list, e, false); diff --git a/src/widgets/arc/lv_arc.c b/src/widgets/arc/lv_arc.c index 1e6460fe5..b6cfbfcf4 100644 --- a/src/widgets/arc/lv_arc.c +++ b/src/widgets/arc/lv_arc.c @@ -434,7 +434,7 @@ static void lv_arc_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/bar/lv_bar.c b/src/widgets/bar/lv_bar.c index 4d9f41b83..37af845f5 100644 --- a/src/widgets/bar/lv_bar.c +++ b/src/widgets/bar/lv_bar.c @@ -532,7 +532,7 @@ static void lv_bar_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/btnmatrix/lv_btnmatrix.c b/src/widgets/btnmatrix/lv_btnmatrix.c index c2ef6179f..dde68148d 100644 --- a/src/widgets/btnmatrix/lv_btnmatrix.c +++ b/src/widgets/btnmatrix/lv_btnmatrix.c @@ -390,7 +390,7 @@ static void lv_btnmatrix_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/chart/lv_chart.c b/src/widgets/chart/lv_chart.c index 2deaf10aa..55b7932a2 100644 --- a/src/widgets/chart/lv_chart.c +++ b/src/widgets/chart/lv_chart.c @@ -722,7 +722,7 @@ static void lv_chart_event(const lv_obj_class_t * class_p, lv_event_t * e) /*Call the ancestor's event handler*/ lv_res_t res; - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/checkbox/lv_checkbox.c b/src/widgets/checkbox/lv_checkbox.c index 6dcd040ec..394908cb4 100644 --- a/src/widgets/checkbox/lv_checkbox.c +++ b/src/widgets/checkbox/lv_checkbox.c @@ -150,7 +150,7 @@ static void lv_checkbox_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/colorwheel/lv_colorwheel.c b/src/widgets/colorwheel/lv_colorwheel.c index 7313c3624..e43c3045a 100644 --- a/src/widgets/colorwheel/lv_colorwheel.c +++ b/src/widgets/colorwheel/lv_colorwheel.c @@ -358,7 +358,7 @@ static void lv_colorwheel_event(const lv_obj_class_t * class_p, lv_event_t * e) LV_UNUSED(class_p); /*Call the ancestor's event handler*/ - lv_res_t res = lv_event_base(MY_CLASS, e); + lv_res_t res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; diff --git a/src/widgets/dropdown/lv_dropdown.c b/src/widgets/dropdown/lv_dropdown.c index c319883f3..9ec37670e 100644 --- a/src/widgets/dropdown/lv_dropdown.c +++ b/src/widgets/dropdown/lv_dropdown.c @@ -651,7 +651,7 @@ static void lv_dropdown_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); @@ -743,7 +743,7 @@ static void lv_dropdown_list_event(const lv_obj_class_t * class_p, lv_event_t * /*Call the ancestor's event handler*/ lv_event_code_t code = lv_event_get_code(e); if(code != LV_EVENT_DRAW_POST) { - res = lv_event_base(MY_CLASS_LIST, e); + res = lv_obj_event_base(MY_CLASS_LIST, e); if(res != LV_RES_OK) return; } lv_obj_t * list = lv_event_get_target(e); @@ -764,7 +764,7 @@ static void lv_dropdown_list_event(const lv_obj_class_t * class_p, lv_event_t * } else if(code == LV_EVENT_DRAW_POST) { draw_list(e); - res = lv_event_base(MY_CLASS_LIST, e); + res = lv_obj_event_base(MY_CLASS_LIST, e); if(res != LV_RES_OK) return; } } diff --git a/src/widgets/img/lv_img.c b/src/widgets/img/lv_img.c index 703c7c9f4..3aaa27761 100644 --- a/src/widgets/img/lv_img.c +++ b/src/widgets/img/lv_img.c @@ -443,7 +443,7 @@ static void lv_img_event(const lv_obj_class_t * class_p, lv_event_t * e) /*Ancestor events will be called during drawing*/ if(code != LV_EVENT_DRAW_MAIN && code != LV_EVENT_DRAW_POST) { /*Call the ancestor's event handler*/ - lv_res_t res = lv_event_base(MY_CLASS, e); + lv_res_t res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; } @@ -602,7 +602,7 @@ static void draw_img(lv_event_t * e) lv_area_copy(&ori_coords, &obj->coords); lv_area_copy(&obj->coords, &bg_coords); - lv_res_t res = lv_event_base(MY_CLASS, e); + lv_res_t res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_area_copy(&obj->coords, &ori_coords); diff --git a/src/widgets/imgbtn/lv_imgbtn.c b/src/widgets/imgbtn/lv_imgbtn.c index 5da477be6..c64197415 100644 --- a/src/widgets/imgbtn/lv_imgbtn.c +++ b/src/widgets/imgbtn/lv_imgbtn.c @@ -178,7 +178,7 @@ static void lv_imgbtn_event(const lv_obj_class_t * class_p, lv_event_t * e) { LV_UNUSED(class_p); - lv_res_t res = lv_event_base(&lv_imgbtn_class, e); + lv_res_t res = lv_obj_event_base(&lv_imgbtn_class, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/label/lv_label.c b/src/widgets/label/lv_label.c index eff754d4c..a106c075e 100644 --- a/src/widgets/label/lv_label.c +++ b/src/widgets/label/lv_label.c @@ -699,7 +699,7 @@ static void lv_label_event(const lv_obj_class_t * class_p, lv_event_t * e) LV_UNUSED(class_p); /*Call the ancestor's event handler*/ - const lv_res_t res = lv_event_base(MY_CLASS, e); + const lv_res_t res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; const lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/led/lv_led.c b/src/widgets/led/lv_led.c index cb5dde813..a3cd3c2b3 100644 --- a/src/widgets/led/lv_led.c +++ b/src/widgets/led/lv_led.c @@ -166,7 +166,7 @@ static void lv_led_event(const lv_obj_class_t * class_p, lv_event_t * e) /* Call the ancestor's event handler */ lv_event_code_t code = lv_event_get_code(e); if(code != LV_EVENT_DRAW_MAIN && code != LV_EVENT_DRAW_MAIN_END) { - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; } diff --git a/src/widgets/line/lv_line.c b/src/widgets/line/lv_line.c index f5d2c7cfd..6c1ca9a36 100644 --- a/src/widgets/line/lv_line.c +++ b/src/widgets/line/lv_line.c @@ -138,7 +138,7 @@ static void lv_line_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/meter/lv_meter.c b/src/widgets/meter/lv_meter.c index c48f51113..9e914c8b6 100644 --- a/src/widgets/meter/lv_meter.c +++ b/src/widgets/meter/lv_meter.c @@ -277,7 +277,7 @@ static void lv_meter_event(const lv_obj_class_t * class_p, lv_event_t * e) { LV_UNUSED(class_p); - lv_res_t res = lv_event_base(MY_CLASS, e); + lv_res_t res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/roller/lv_roller.c b/src/widgets/roller/lv_roller.c index 925a85fcb..ec7ddc8b4 100644 --- a/src/widgets/roller/lv_roller.c +++ b/src/widgets/roller/lv_roller.c @@ -326,7 +326,7 @@ static void lv_roller_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; const lv_event_code_t code = lv_event_get_code(e); @@ -432,7 +432,7 @@ static void lv_roller_label_event(const lv_obj_class_t * class_p, lv_event_t * e /*LV_EVENT_DRAW_MAIN will be called in the draw function*/ if(code != LV_EVENT_DRAW_MAIN) { /* Call the ancestor's event handler */ - res = lv_event_base(MY_CLASS_LABEL, e); + res = lv_obj_event_base(MY_CLASS_LABEL, e); if(res != LV_RES_OK) return; } diff --git a/src/widgets/slider/lv_slider.c b/src/widgets/slider/lv_slider.c index e90fccab1..460d9446b 100644 --- a/src/widgets/slider/lv_slider.c +++ b/src/widgets/slider/lv_slider.c @@ -102,7 +102,7 @@ static void lv_slider_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/span/lv_span.c b/src/widgets/span/lv_span.c index d2f5ffc01..a8a1d111c 100644 --- a/src/widgets/span/lv_span.c +++ b/src/widgets/span/lv_span.c @@ -533,7 +533,7 @@ static void lv_spangroup_event(const lv_obj_class_t * class_p, lv_event_t * e) LV_UNUSED(class_p); /* Call the ancestor's event handler */ - if(lv_event_base(MY_CLASS, e) != LV_RES_OK) return; + if(lv_obj_event_base(MY_CLASS, e) != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); lv_obj_t * obj = lv_event_get_target(e); diff --git a/src/widgets/spinbox/lv_spinbox.c b/src/widgets/spinbox/lv_spinbox.c index 9f0799653..d3afe1fca 100644 --- a/src/widgets/spinbox/lv_spinbox.c +++ b/src/widgets/spinbox/lv_spinbox.c @@ -364,7 +364,7 @@ static void lv_spinbox_event(const lv_obj_class_t * class_p, lv_event_t * e) /*Call the ancestor's event handler*/ lv_res_t res = LV_RES_OK; - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; const lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/switch/lv_switch.c b/src/widgets/switch/lv_switch.c index e5efa1538..eb4f1e2cd 100644 --- a/src/widgets/switch/lv_switch.c +++ b/src/widgets/switch/lv_switch.c @@ -113,7 +113,7 @@ static void lv_switch_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/table/lv_table.c b/src/widgets/table/lv_table.c index be56a7b94..0d7c56a1f 100644 --- a/src/widgets/table/lv_table.c +++ b/src/widgets/table/lv_table.c @@ -459,7 +459,7 @@ static void lv_table_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/tabview/lv_tabview.c b/src/widgets/tabview/lv_tabview.c index 73b08bbc1..b87e07048 100644 --- a/src/widgets/tabview/lv_tabview.c +++ b/src/widgets/tabview/lv_tabview.c @@ -290,7 +290,7 @@ static void lv_tabview_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj static void lv_tabview_event(const lv_obj_class_t * class_p, lv_event_t * e) { LV_UNUSED(class_p); - lv_res_t res = lv_event_base(&lv_tabview_class, e); + lv_res_t res = lv_obj_event_base(&lv_tabview_class, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/src/widgets/textarea/lv_textarea.c b/src/widgets/textarea/lv_textarea.c index 143d8cb10..f7f72921f 100644 --- a/src/widgets/textarea/lv_textarea.c +++ b/src/widgets/textarea/lv_textarea.c @@ -877,7 +877,7 @@ static void lv_textarea_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_res_t res; /*Call the ancestor's event handler*/ - res = lv_event_base(MY_CLASS, e); + res = lv_obj_event_base(MY_CLASS, e); if(res != LV_RES_OK) return; lv_event_code_t code = lv_event_get_code(e); diff --git a/tests/src/test_cases/test_event.c b/tests/src/test_cases/test_event.c index d5b97ea36..1c46def34 100644 --- a/tests/src/test_cases/test_event.c +++ b/tests/src/test_cases/test_event.c @@ -7,7 +7,7 @@ static void event_object_deletion_cb(const lv_obj_class_t * cls, lv_event_t * e) { LV_UNUSED(cls); if(lv_event_get_code(e) == LV_EVENT_VALUE_CHANGED) { - lv_obj_del(lv_event_get_current_target(e)); + lv_obj_del(lv_event_get_target(e)); } }