I believe that lv_keyboard_create()
has a stack overflow when LV_ASSERT_OBJ is enabled.
When lv_keyboard_create()
is called it calls lv_obj_get_parent
to set the obj size, which calls the LV_ASSERT_OBJ
macro. The stack trace is
LV_ASSERT_OBJ()
LV_DEBUG_IS_OBJ()
lv_debug_check_obj_type()
lv_obj_get_parent()
lv_debug_check_obj_type()
lv_obj_get_type()
obj->signal_cb()
lv_keyboard_signal()
LV_ASSERT_OBJ()
... loops
I do not believe that any lv_xxx_signal()
function can use LV_ASSERT_OBJ
as it will infinitely loop.
I checked all the other signal functions and lv_keyboard was the only widget/object to call LV_ASSERT_OBJ