diff --git a/lv_objx/lv_list.c b/lv_objx/lv_list.c index def14b75b7..98813c19fb 100644 --- a/lv_objx/lv_list.c +++ b/lv_objx/lv_list.c @@ -511,13 +511,17 @@ lv_obj_t * lv_list_get_next_btn(const lv_obj_t * list, lv_obj_t * prev_btn) /** * Get the index of the button in the list - * @param list pointer to a list object + * @param list pointer to a list object. If NULL, assumes btn is part of a list. * @param btn pointer to a list element (button) * @return the index of the button in the list, or -1 of the button not in this list */ int32_t lv_list_get_btn_index(const lv_obj_t * list, const lv_obj_t * btn) { int index = 0; + if( list == NULL ){ + /* no list provided, assuming btn is part of a list */ + list = lv_obj_get_parent(lv_obj_get_parent(btn)); + } lv_obj_t * e = lv_list_get_next_btn(list, NULL); while(e != NULL) { if(e == btn) { diff --git a/lv_objx/lv_list.h b/lv_objx/lv_list.h index 572f0189e2..0fe0c12910 100644 --- a/lv_objx/lv_list.h +++ b/lv_objx/lv_list.h @@ -232,7 +232,7 @@ lv_obj_t * lv_list_get_next_btn(const lv_obj_t * list, lv_obj_t * prev_btn); /** * Get the index of the button in the list - * @param list pointer to a list object + * @param list pointer to a list object. If NULL, assumes btn is part of a list. * @param btn pointer to a list element (button) * @return the index of the button in the list, or -1 of the button not in this list */