From 991f892a98caae5c8fd5e4c671eda4b5f9ea3d12 Mon Sep 17 00:00:00 2001 From: canardos Date: Sun, 14 Apr 2019 13:24:12 +0800 Subject: [PATCH 1/5] add lv_obj_set_user_data function --- src/lv_core/lv_obj.c | 10 ++++++++++ src/lv_core/lv_obj.h | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/src/lv_core/lv_obj.c b/src/lv_core/lv_obj.c index 09ddb1ce5..3d7526923 100644 --- a/src/lv_core/lv_obj.c +++ b/src/lv_core/lv_obj.c @@ -1875,6 +1875,16 @@ lv_obj_user_data_t * lv_obj_get_user_data(lv_obj_t * obj) { return &obj->user_data; } + +/** + * Set the objet's user data + * @param obj pointer to an object + * @param data user data + */ +void lv_obj_set_user_data(lv_obj_t * obj, lv_obj_user_data_t data) +{ + obj->user_data = data; +} #endif #if LV_USE_GROUP diff --git a/src/lv_core/lv_obj.h b/src/lv_core/lv_obj.h index 1fa0bf1df..73fd2332d 100644 --- a/src/lv_core/lv_obj.h +++ b/src/lv_core/lv_obj.h @@ -857,6 +857,14 @@ void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf); * @return pointer to the user data */ lv_obj_user_data_t * lv_obj_get_user_data(lv_obj_t * obj); + +/** + * Set the objet's user data + * @param obj pointer to an object + * @param data user data + */ +void lv_obj_set_user_data(lv_obj_t * obj, lv_obj_user_data_t data); + #endif #if LV_USE_GROUP From 84d79bcf56e8c92e0eeb670f7ba3950eafa74b7f Mon Sep 17 00:00:00 2001 From: Josh Date: Wed, 17 Apr 2019 16:00:31 -0700 Subject: [PATCH 2/5] lv_group: fix lv_group_del not removing group from the group linked list --- src/lv_core/lv_group.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lv_core/lv_group.c b/src/lv_core/lv_group.c index 7ea018548..15009fea0 100644 --- a/src/lv_core/lv_group.c +++ b/src/lv_core/lv_group.c @@ -110,6 +110,7 @@ void lv_group_del(lv_group_t * group) } lv_ll_clear(&(group->obj_ll)); + lv_ll_rem(&LV_GC_ROOT(_lv_group_ll), group); lv_mem_free(group); } From 5a88709a5c5c7c7c1fa9cc49738dc472740bed01 Mon Sep 17 00:00:00 2001 From: canardos Date: Thu, 18 Apr 2019 14:12:30 +0800 Subject: [PATCH 3/5] Change assignment to memcpy --- src/lv_core/lv_obj.c | 4 ++-- src/lv_core/lv_obj.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lv_core/lv_obj.c b/src/lv_core/lv_obj.c index 3d7526923..3e7790b4f 100644 --- a/src/lv_core/lv_obj.c +++ b/src/lv_core/lv_obj.c @@ -1877,13 +1877,13 @@ lv_obj_user_data_t * lv_obj_get_user_data(lv_obj_t * obj) } /** - * Set the objet's user data + * Set the object's user data. The data will be copied. * @param obj pointer to an object * @param data user data */ void lv_obj_set_user_data(lv_obj_t * obj, lv_obj_user_data_t data) { - obj->user_data = data; + memcpy(&obj->user_data, &data, sizeof(lv_obj_user_data_t)); } #endif diff --git a/src/lv_core/lv_obj.h b/src/lv_core/lv_obj.h index 73fd2332d..226ed4a4b 100644 --- a/src/lv_core/lv_obj.h +++ b/src/lv_core/lv_obj.h @@ -859,7 +859,7 @@ void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf); lv_obj_user_data_t * lv_obj_get_user_data(lv_obj_t * obj); /** - * Set the objet's user data + * Set the object's user data. The data will be copied. * @param obj pointer to an object * @param data user data */ From 6446f78aebbab63d8569785c91cb49eba8b6f166 Mon Sep 17 00:00:00 2001 From: Themba Dube Date: Thu, 18 Apr 2019 11:35:57 -0400 Subject: [PATCH 4/5] Fix uniniitalized variable during display initialization (detected by Valgrind) --- src/lv_hal/lv_hal_disp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lv_hal/lv_hal_disp.c b/src/lv_hal/lv_hal_disp.c index 8e38c1a87..25fada1d8 100644 --- a/src/lv_hal/lv_hal_disp.c +++ b/src/lv_hal/lv_hal_disp.c @@ -124,14 +124,14 @@ lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver) disp_def = disp; /*Temporarily change the default screen to create the default screens on the new display*/ + disp->inv_p = 0; + disp->act_scr = lv_obj_create(NULL, NULL); /*Create a default screen on the display*/ disp->top_layer = lv_obj_create(NULL, NULL); /*Create top layer on the display*/ disp->sys_layer = lv_obj_create(NULL, NULL); /*Create top layer on the display*/ lv_obj_set_style(disp->top_layer, &lv_style_transp); lv_obj_set_style(disp->sys_layer, &lv_style_transp); - disp->inv_p = 0; - lv_obj_invalidate(disp->act_scr); disp_def = disp_def_tmp; /*Revert the default display*/ From d0550b7feb2881209dc179a0aa67edccbe6db979 Mon Sep 17 00:00:00 2001 From: Themba Dube Date: Thu, 18 Apr 2019 13:03:13 -0400 Subject: [PATCH 5/5] Include lv_conf.h in lv_area.h --- src/lv_misc/lv_area.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/lv_misc/lv_area.h b/src/lv_misc/lv_area.h index c07e2767d..bf81e17c1 100644 --- a/src/lv_misc/lv_area.h +++ b/src/lv_misc/lv_area.h @@ -16,6 +16,11 @@ extern "C" { #include #include #include +#ifdef LV_CONF_INCLUDE_SIMPLE +#include "lv_conf.h" +#else +#include "../../../lv_conf.h" +#endif /********************* * DEFINES