diff --git a/src/widgets/calendar/lv_calendar.c b/src/widgets/calendar/lv_calendar.c index fb5682bf9..49b46fb50 100644 --- a/src/widgets/calendar/lv_calendar.c +++ b/src/widgets/calendar/lv_calendar.c @@ -245,15 +245,13 @@ static void lv_calendar_constructor(const lv_obj_class_t * class_p, lv_obj_t * o /*Initialize the allocated 'ext'*/ -#if LV_WIDGETS_HAS_DEFAULT_VALUE - calendar->today.year = 2020; + calendar->today.year = 2024; calendar->today.month = 1; calendar->today.day = 1; - calendar->showed_date.year = 2020; + calendar->showed_date.year = 2024; calendar->showed_date.month = 1; calendar->showed_date.day = 1; -#endif calendar->highlighted_dates = NULL; calendar->highlighted_dates_num = 0; @@ -287,11 +285,8 @@ static void lv_calendar_constructor(const lv_obj_class_t * class_p, lv_obj_t * o lv_obj_set_flex_flow(obj, LV_FLEX_FLOW_COLUMN); lv_obj_set_flex_grow(calendar->btnm, 1); -#if LV_WIDGETS_HAS_DEFAULT_VALUE lv_calendar_set_showed_date(obj, calendar->showed_date.year, calendar->showed_date.month); lv_calendar_set_today_date(obj, calendar->today.year, calendar->today.month, calendar->today.day); -#endif - } static void draw_task_added_event_cb(lv_event_t * e) diff --git a/src/widgets/calendar/lv_calendar_header_arrow.c b/src/widgets/calendar/lv_calendar_header_arrow.c index a9daad4ae..3a8eeaa1a 100644 --- a/src/widgets/calendar/lv_calendar_header_arrow.c +++ b/src/widgets/calendar/lv_calendar_header_arrow.c @@ -13,6 +13,7 @@ #include "../button/lv_button.h" #include "../label/lv_label.h" #include "../../layouts/flex/lv_flex.h" +#include "../../misc/lv_assert.h" /********************* * DEFINES @@ -111,6 +112,9 @@ static void month_event_cb(lv_event_t * e) d = lv_calendar_get_showed_date(calendar); lv_calendar_date_t newd = *d; + LV_ASSERT_FORMAT_MSG(newd.year >= 0 && newd.month >= 1 && newd.month <= 12, + "Invalid date: %d-%d", newd.year, newd.month); + /*The last child is the right button*/ if(lv_obj_get_child(header, 0) == btn) { if(newd.month == 1) { @@ -142,9 +146,12 @@ static void value_changed_event_cb(lv_event_t * e) lv_obj_t * header = lv_event_get_current_target(e); lv_obj_t * calendar = lv_obj_get_parent(header); - const lv_calendar_date_t * cur_date = lv_calendar_get_showed_date(calendar); + const lv_calendar_date_t * date = lv_calendar_get_showed_date(calendar); + LV_ASSERT_FORMAT_MSG(date->year >= 0 && date->month >= 1 && date->month <= 12, + "Invalid date: %d-%d", date->year, date->month); + lv_obj_t * label = lv_obj_get_child(header, 1); - lv_label_set_text_fmt(label, "%d %s", cur_date->year, month_names_def[cur_date->month - 1]); + lv_label_set_text_fmt(label, "%d %s", date->year, month_names_def[date->month - 1]); } #endif /*LV_USE_CALENDAR_HEADER_ARROW*/ diff --git a/tests/ref_imgs/widgets/calendar_08.png b/tests/ref_imgs/widgets/calendar_08.png index 8b1f0527d..ef92ff027 100644 Binary files a/tests/ref_imgs/widgets/calendar_08.png and b/tests/ref_imgs/widgets/calendar_08.png differ