summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/gui/skin_engine/skin_parser.c4
-rw-r--r--apps/gui/skin_engine/skin_render.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index 341056ff87..08b1880f4e 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -1277,9 +1277,9 @@ static int skin_element_callback(struct skin_element* element, void* data)
memset(token, 0, sizeof(*token));
token->type = element->tag->type;
- if ((element->tag->flags&SKIN_REFRESH_ALL) == SKIN_RTC_REFRESH)
+ if (element->tag->flags&SKIN_RTC_REFRESH)
{
-#ifdef CONFIG_RTC
+#if CONFIG_RTC
curr_line->update_mode |= SKIN_REFRESH_DYNAMIC;
#else
curr_line->update_mode |= SKIN_REFRESH_STATIC;
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c
index 89fa1a8708..0c18848645 100644
--- a/apps/gui/skin_engine/skin_render.c
+++ b/apps/gui/skin_engine/skin_render.c
@@ -455,6 +455,10 @@ static bool skin_render_line(struct skin_element* line, struct skin_draw_info *i
sizeof(tempbuf), NULL);
if (value)
{
+#if CONFIG_RTC
+ if (child->tag->flags&SKIN_RTC_REFRESH)
+ needs_update = needs_update || info->refresh_type&SKIN_REFRESH_DYNAMIC;
+#endif
needs_update = needs_update ||
((child->tag->flags&info->refresh_type)!=0);
strlcat(info->cur_align_start, value,