From 313f7f30a7bd90b32cde40ac2bf56b0cc392d74f Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Thu, 26 Nov 2020 15:22:09 +0100 Subject: [PATCH] fix(style): invalidate cache on every PART Inherited properties on parts other than MAIN needs to be recached on property change beacuse they are inherted from MAIN fixes #1933 --- src/lv_core/lv_obj.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/lv_core/lv_obj.c b/src/lv_core/lv_obj.c index 9739dc9855..86b95cced1 100644 --- a/src/lv_core/lv_obj.c +++ b/src/lv_core/lv_obj.c @@ -4759,25 +4759,19 @@ static void invalidate_style_cache(lv_obj_t * obj, uint8_t part, lv_style_proper { if(style_prop_is_cacheble(prop) == false) return; - if(part != LV_OBJ_PART_ALL) { + for(part = 0; part < _LV_OBJ_PART_REAL_FIRST; part++) { lv_style_list_t * list = lv_obj_get_style_list(obj, part); - if(list == NULL) return; + if(list == NULL) break; list->valid_cache = 0; } - else { - for(part = 0; part < _LV_OBJ_PART_REAL_FIRST; part++) { - lv_style_list_t * list = lv_obj_get_style_list(obj, part); - if(list == NULL) break; - list->valid_cache = 0; - } - for(part = _LV_OBJ_PART_REAL_FIRST; part < 0xFF; part++) { - lv_style_list_t * list = lv_obj_get_style_list(obj, part); - if(list == NULL) break; - list->valid_cache = 0; - } + for(part = _LV_OBJ_PART_REAL_FIRST; part < 0xFF; part++) { + lv_style_list_t * list = lv_obj_get_style_list(obj, part); + if(list == NULL) break; + list->valid_cache = 0; } + lv_obj_t * child = lv_obj_get_child(obj, NULL); while(child) { update_style_cache_children(child);