From 66f92d16d0484be09b9efcf4fce7f28a42fae8d7 Mon Sep 17 00:00:00 2001 From: Kiss-Vamosi Gabor Date: Sun, 1 Jan 2017 22:54:59 +0100 Subject: [PATCH] Bugfix: call the top object's parent post draw design fubctions --- lv_obj/lv_refr.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lv_obj/lv_refr.c b/lv_obj/lv_refr.c index b9489d886..28d3c95b3 100644 --- a/lv_obj/lv_refr.c +++ b/lv_obj/lv_refr.c @@ -282,7 +282,7 @@ static void lv_refr_area_part_vdb(const area_t * area_p) /*Get the most top object which is not covered by others*/ top_p = lv_refr_get_top_obj(&start_mask, lv_scr_act()); - /*Do the refreshing*/ + /*Do the refreshing from the top object*/ lv_refr_make(top_p, &start_mask); /*Flush the content of the VDB*/ @@ -342,7 +342,7 @@ static void lv_refr_make(lv_obj_t * top_p, const area_t * mask_p) /*Refresh the top object and its children*/ lv_refr_obj(top_p, mask_p); - /*Draw the 'younger' objects because they can be on top_obj */ + /*Draw the 'younger' sibling objects because they can be on top_obj */ lv_obj_t * par; lv_obj_t * i; lv_obj_t * border_p = top_p; @@ -366,6 +366,13 @@ static void lv_refr_make(lv_obj_t * top_p, const area_t * mask_p) /*Go a level deeper*/ par = lv_obj_get_parent(par); } + + /*Call the post draw design function of the parents of the to object*/ + par = lv_obj_get_parent(top_p); + while(par != NULL) { + par->design_f(par, mask_p, LV_DESIGN_DRAW_POST); + par = lv_obj_get_parent(par); + } } /**